Для того чтобы избежать ошибки дублирования ключей при добавлении записи в коллекцию в MongoDB, вам следует использовать метод insertOne()
или insertMany()
вместо insert()
.
Когда вы используете метод insertOne()
, указываете объект с данными, которые вы хотите добавить в коллекцию. Например:
db.collection("myCollection").insertOne({ name: "John", age: 25 });
В данном примере, мы добавляем документ с двумя полями name
и age
в коллекцию с именем "myCollection". Если у вас уже есть документ с таким же значением поля name
, то при вызове insertOne()
возникнет ошибка.
Для добавления нескольких документов в коллекцию сразу, вы можете использовать метод insertMany()
. Например:
db.collection("myCollection").insertMany([{ name: "John", age: 25 }, { name: "Jane", age: 30 }]);
В этом примере мы добавляем два документа в коллекцию "myCollection". Если один из документов имеет значение поля name
, которое уже присутствует в коллекции, то возникнет ошибка.
Однако, если вы хотите избежать ошибки дублирования ключей и добавить только уникальные документы, вы можете использовать опцию { ordered: false }
при вызове insertMany()
. Например:
db.collection("myCollection").insertMany([{ name: "John", age: 25 }, { name: "John", age: 30 }], { ordered: false });
В этом случае, документ с полем name
равным "John" и возникающая ошибка дублирования ключей будут проигнорированы, и все остальные документы будут добавлены в коллекцию.
Итак, применение методов insertOne()
или insertMany()
с опцией { ordered: false }
позволяет избежать ошибок дублирования ключей при добавлении записей в коллекцию MongoDB.