如果不存在具有相同名称的项目,如何插入项目?

时间:2011-11-15 15:26:07

标签: mongodb mongodb-.net-driver

我正在插入一批名字:

myCollection.InsertBatch(value.Split(',').Where(o=> !string.IsNullOrEmpty(o)).Select( o => new Client { Name = o.Trim() }));

如何只插入那些名称相同的?

P.S。 MongoInsertOptions在这种情况下有用吗?

1 个答案:

答案 0 :(得分:2)

在“名称”上创建唯一索引

for example, in shell: db.MyCollection.ensureIndex({"Name":1}, {unique = true})

添加InsertOptions

var options = new MongoInsertOptions (myCollection) { CheckElementNames = true, Flags = InsertFlags.ContinueOnError, SafeMode = SafeMode.True};

var res = myCollection.InsertBatch(value.Split(',').Where(o => !string.IsNullOrEmpty(o)).Select(o => new Client { Name = o.Trim() }), options);