У меня есть коллекция, в которой все мои документы имеют по крайней мере эти 2 поля, скажем name
и url
(где url
уникален, поэтому я установил на нем уникальный индекс). Теперь, если я попытаюсь вставить документ с дубликатом url
, он даст ошибку и остановит программу. Я не хочу этого поведения, но мне нужно что-то вроде mysql
insert or ignore
, так что mongoDB не должен вставлять документ с дубликатом url
и продолжить со следующими документами.Вставить или игнорировать несколько документов в mongoDB
Есть ли какой-либо параметр, который я могу передать команде insert
, чтобы достичь этого? Я обычно делаю партию вставок с использованием pymongo
, как:
collection.insert(document_array)
Здесь collection
является сбор и document_array
является массивом документов.
Так можно каким-то образом реализовать функцию insert or ignore
для ввода нескольких документов?
Вы исполнительское эти вставки с помощью итератора/цикл объектов в памяти, или с использованием Монго встроенных методов batchInsert? – DeaconDesperado
@DeaconDesperado Я использую метод пакетной вставки 'pymongo'. Таким образом, у меня есть цикл и на каждой итерации я выполняю операцию вставки вставки для вставки нескольких документов. – lovesh
@lovesh. Если бы вы могли принять ответ здесь? –