主要目標是:插入一次爲多個文件,但確保只有那些獨特的存儲在集合解釋如下集插入多 - 確保其唯一性
我將許多文件到MongoDB中收集一次像這樣:
db.users.insert([{name: 'Joe'}{'name': 'Bob'}]);
進入插入的一些值可能是重複的,我希望MongoDB忽略這些值。這是爲了確保集合內的唯一性。
db.users.insert([{name: 'Joe'}{'name': 'Jack'}]);
使用索引整個.insert()
操作,如果整個插入不是唯一的,而不是被忽略只非獨特的項目會失敗。
db.users.createIndex({ 'name': 1 }, { unique: true });
日誌從MongoDB的:
BulkWriteResult({
"writeErrors" : [
{
"index" : 0,
"code" : 11000,
"errmsg" : "E11000 duplicate key error collection: test.users index: name_1 dup key: { : \"Joe\" }",
"op" : {
"_id" : ObjectId("57f924ee7d864acfefaca700"),
"name" : "joe"
}
}
],
"writeConcernErrors" : [ ],
"nInserted" : 0,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
是否有這樣做的另一種方式?
你真正想要什麼?請你詳細說明它更 –
@WasiqMuhammad我認爲問題是很清楚......我想在一次插入多個文件,但確保只有那些獨特的存儲收藏。添加到問題帖子 – Monokh