mongodb - create doc if not exist, else push to array mongodb - create doc if not exist, else push to array mongodb mongodb

mongodb - create doc if not exist, else push to array


You can do upserts in Mongo, see "Upserts with Modifiers" from the Mongo doc:

You may use upsert with a modifier operation. In such a case, the modifiers will be applied to the update criteria member and the resulting object will be inserted.

The query you need will look like:

db.events.update( { "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0" }, { $push : { "events" : { "profile" : 10, "data" : "X"}}}, {"upsert" : true});