MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongodb - créer un document s'il n'existe pas, sinon pousser vers le tableau

Vous pouvez faire des upserts dans Mongo, voir "Upserts with Modifiers" dans la doc Mongo :

Vous pouvez utiliser upsert avec une opération de modification. Dans ce cas, les modificateurs seront appliqués au membre des critères de mise à jour et l'objet résultant sera inséré.

La requête dont vous avez besoin ressemblera à :

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