首页 > 数据库 >c#操作mongodb防止重复插入

c#操作mongodb防止重复插入

时间:2023-08-08 10:34:10浏览次数:34  
标签:插入 c# mongodb database list source connected var id




原理:把可以唯一标识的字段提出来放在字符串列中,当字符串不包含要插入的数据时再进行数据操作


MongoClient client;
                MongoServer server;
                MongoDatabase database;
     client = new MongoClient("mongodb://192.168.0.4");


                server = client.GetServer();
                database = server.GetDatabase("数据库名");
  var connected = database.GetCollection("集合名");
                var connected_all = connected.FindAll();


                List<string> source_id_list = new List<string>();


                foreach (var ttdoc2 in connected_all)
                {
                    source_id_list.Add(ttdoc2.AsBsonDocument["source_id"].ToString());




                }
           
                    if (!source_id_list.Contains(要插入数据的id))
                    {
  //当已有的数据id中没有该数据id时进行插入数据

                   }




 

标签:插入,c#,mongodb,database,list,source,connected,var,id
From: https://blog.51cto.com/u_16218512/7005075

相关文章

  • FactoryPattern-工厂模式
    在C#中,工厂模式(FactoryPattern)是一种常用的设计模式,它属于创建型模式。在C#中,工厂模式用于创建对象,而不需要直接使用构造函数来实例化对象。它通过一个工厂类来封装对象的创建逻辑,使得客户端只需要与工厂类交互,而无需关心具体的对象创建过程。1.简单工厂简单工厂模式(SimpleFac......
  • 遇到的问题-----c#操作mongodb用foreach遍历集合报错curcor not found
    foreach(varttdocindatabase.GetCollection("集合名").FindAll()){}执行了一部分就报错curcornotfound了 原因是curcor有一定的时限如果数据太多的话可考虑分几部分来处理vardata=database.GetCollection("集合名");......
  • C#把mongodb导入sqlsever
    原理很简单 就是把mongodb中的数据提出来插入sqlsever中首先要在mongodb中添加mongodb字段和sqlsever字段对应的集合field。格式:{"sqlsever字段":"name","mongodb字段":"name"}MongoClientclient;MongoServerserver;MongoData......
  • c#操作excel方式四-Aspose控件
     参考资料: 这位大大写得不错,还有复杂报表的生成,有兴趣的可以看看这里还有一篇Aspose基础知识的方法1:读取excel内容到datableDataTable_dt_Data;初始化表的列privatevoidinitDataTable(){_dt_Data=newDataTable();_dt_Data.Columns......
  • c#转义符积累
    常用的转义字符及其含义:\’单引号\”双引号\\反斜杠\0空\a警告(产生峰鸣)\b退格\f换页\n换行\r回车\t水平制表符\v垂直制表符c#里@表示的是:在C#中,"c:\\data"表示路径是c:\data;而@"c:\data"就表示c:\data;所以,@的作用就应该是忽略转义字符的作用......
  • c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
    命名空间usingSystem.Text.RegularExpressions;1.我们采集到的数据比如有些日期很不规则带有中文比如2013年5月8日  2013年5月 这里提供把这类不规则的日期转化成datatime类型publicDateTimeConvertTime(stringa){DateTimedt......
  • c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
     1、引用Microsoft.Office.Interop.Excel.dll2、引用命名空间、使用别名usingSystem.Reflection;usingExcel=Microsoft.Office.Interop.Excel;  3.写入excel写入函数publicvoidToExcel(stringstrTitle){intnMax=9;intnMin=4......
  • 代码覆盖率-Jacoco
    Jacoco1、什么是jacocojacoco是一个免费、开源java代码覆盖率工具。2、什么是代码覆盖率覆盖率是用来衡量测试代码对功能代码的测试情况,通过统计测试中对功能代码中行、分支、类等模拟场景数量,来量化说明测试的充分度。代码覆盖率=代码的覆盖程度,一种度量方式覆盖率简单说:跑......
  • Mac版PDF编辑器-Acrobat Pro DC 2023
    AcrobatProDC2023(pdf编辑器)是一款能让用户轻松创建和编辑多种pdf格式的实用工具,并且能够同时使用各种方法编辑大量pdf文件。AcrobatProDC是Mac上运行速度最快、处理能力最强、功能最丰富的工具之一。AcrobatProDC包括强大的图像编辑工具,可让您轻松编辑图片和视频,而......
  • AutoCAD2024软件Mac中文版最新功能介绍支持M1/2
    AutoCAD2024软件的最新功能,包括行业特定的工具集、新的自动化以及跨设备和Autodesk产品的无缝连接。AutodeskAutoCAD不仅提供出色的绘图功能,而且提供了对工程工具使用方法及工作流程进行全面优化的方式。所有这一切都使用户能够轻松地创建工程应用程序,从而帮助他们提高工作效......