Nepoužívejte vložku.
Použijte aktualizaci s upsert=true
. Aktualizace vyhledá dokument, který odpovídá vašemu dotazu, poté upraví požadovaná pole a poté můžete říci upsert:True, pokud chcete vložit, pokud vašemu dotazu neodpovídá žádný dokument.
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
Takže pro váš příklad můžete použít něco takového:
db.collection.update(doc, doc, {upsert:true})