MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mongodb - cria doc se não existir, senão envia para array


Você pode fazer upserts no Mongo, veja "Upserts with Modifiers" do documento do Mongo:

Você pode usar upsert com uma operação modificadora. Nesse caso, os modificadores serão aplicados ao membro do critério de atualização e o objeto resultante será inserido.

A consulta que você precisa será semelhante a:
db.events.update( { "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0" }, 
{ $push : { "events" : { "profile" : 10, "data" : "X"}}}, {"upsert" : true});