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

Spring Data Mongo:upsert com vários campos atualizados


Eu acredito que o que você está procurando é $setOnInsert para subdocument1 . Então, algo como deve funcionar para você.
Query query = Query.query(Criteria.where("_id").is("some_id"));
Update update = Update.update("_id", "some_id")
                .set("field1", "value1")
                .set("field2", "value2")
                .set("subdocument2", subdocumentObject2)
                .setOnInsert("subdocument1", subdocumentObject1);

Mais aqui https://docs.mongodb.com/manual/reference/ operador/atualização/setOnInsert/