Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何跳过批量插入中的重复文档并忽略具有特定字段c的重复文档#_Mongodb_Mongodb Query_Mongodb .net Driver_Mongodb Csharp 2.0 - Fatal编程技术网

Mongodb 如何跳过批量插入中的重复文档并忽略具有特定字段c的重复文档#

Mongodb 如何跳过批量插入中的重复文档并忽略具有特定字段c的重复文档#,mongodb,mongodb-query,mongodb-.net-driver,mongodb-csharp-2.0,Mongodb,Mongodb Query,Mongodb .net Driver,Mongodb Csharp 2.0,我需要插入许多文档并忽略重复的文档 文件格式: _id:5b84e2588aceda018a974450 Name:"Jeff M" Email:"jeff.m@xtrastaff.com" Type:"Client" UserId:Binary('Rw+KMGpSAECQ3gwCtfoKUg==') UserImage:null 我想在插入时使用EmailId字段检查副本。仅在不存在时插入。要防止插入重复项,您需要一个可以用C代码创建的: 嗨,你能帮我回答这个问题吗?@AjasAju,我保证

我需要插入许多文档并忽略重复的文档

文件格式:

_id:5b84e2588aceda018a974450
Name:"Jeff M"
Email:"jeff.m@xtrastaff.com"
Type:"Client"
UserId:Binary('Rw+KMGpSAECQ3gwCtfoKUg==')
UserImage:null

我想在插入时使用EmailId字段检查副本。仅在不存在时插入。

要防止插入重复项,您需要一个可以用C代码创建的:


嗨,你能帮我回答这个问题吗?@AjasAju,我保证我会在晚上看一看-现在没时间,太好了,谢谢你,米克尔
public void CreateIndex()
{
    var options = new CreateIndexOptions() { Unique = true };
    var field = new StringFieldDefinition<Model>(nameof(Model.Email));
    var indexDefinition = new IndexKeysDefinitionBuilder<Model>().Ascending(field);
    Collection.Indexes.CreateOne(indexDefinition, options);
}
public void InsertData(List<Model> data)
{
    var writeOps = data.Select(x => new InsertOneModel<Model>(x));
    try
    {
        Collection.BulkWrite(writeOps, new BulkWriteOptions() { IsOrdered = false });
    }
    catch (MongoBulkWriteException ex)
    {
        // will be thrown when there were any duplicates
    }
}