Основной целью: Вставка несколько документов одновременно, но обеспечить только уникальные, которые хранятся в коллекции Объяснения нижеКоллекция вставка несколько - обеспечить уникальность
Я вставив много документов в коллекцию 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 Я думал, что вопрос был довольно ясным ... Я хочу вставлять сразу несколько документов, но при этом в коллекции хранятся только уникальные. Добавив это в вопрос post – Monokh