Ich denke, Sie müssen dies noch mit zwei Abfragen tun. Aber mit einer $-Abfrage
zum update
, können Sie es bei einer Abfrage belassen, falls die EID bereits vorhanden ist.
db.col.update({"events.eid": 2}}, {$set: {"events.$.title: "Event 4", "events.$.start": new Date(2013, 08, 02}})
Wenn der Rückgabewert davon anzeigt, dass keine Datensätze gefunden wurden, können Sie ihn stattdessen einfügen.