Jag tror att du fortfarande behöver göra det här med två frågor. Men genom att använda en $-fråga
för att update
, kan du behålla den till en fråga om EID redan finns.
db.col.update({"events.eid": 2}}, {$set: {"events.$.title: "Event 4", "events.$.start": new Date(2013, 08, 02}})
Om returvärdet från det indikerar att inga poster hittades, kan du infoga det istället.