Mam kolekcję, w której wszystkie moje dokumenty mają co najmniej te 2 pola, na przykład name
i url
(gdzie url
jest unikalny, więc ustawiłem na nim unikalny indeks). Teraz, jeśli spróbuję wstawić dokument z duplikatem url
, spowoduje to błąd i zatrzyma program. Nie chcę tego zachowania, ale potrzebuję czegoś takiego jak mysql
's insert or ignore
, więc mongoDB nie powinien wstawiać dokumentu z duplikatem url
i kontynuować z następnymi dokumentami.wstawianie lub ignorowanie wielu dokumentów w mongoDB
Czy jest jakiś parametr, który można przekazać do polecenia insert
w celu uzyskania tego zachowania? I ogólnie zrobić partię wkładek korzystających pymongo
jako:
collection.insert(document_array)
Tutaj collection
jest zbieranie i document_array
jest tablicą dokumentów.
Czy jest jakiś sposób wdrożenia funkcji insert or ignore
dla wielu dokumentów?
Czy wykonujące te wstawki przy użyciu iteracyjnej/pętli obiektów w pamięci, lub wykorzystujące Mongo wbudowanego w metodach batchInsert? – DeaconDesperado
@DeaconDesperado Używam metody wsadowej wsadowej pymongo. Więc mam pętlę iw każdej iteracji wykonuję operację wstawiania wsadowego, aby wstawić wiele dokumentów. – lovesh
@lovesh Czy jest szansa, że przyjmiesz tutaj odpowiedź? –