Använd inte insats.
Använd uppdatering med upsert=true
. Update kommer att leta efter dokumentet som matchar din fråga, sedan ändrar den de fält du vill ha och sedan kan du säga till det upsert:True om du vill infoga om inget dokument matchar din fråga.
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
Så, för ditt exempel, kan du använda något i stil med detta:
db.collection.update(doc, doc, {upsert:true})