Java中以upsert为标准的MongoDB更新文档
我必须根据条件更新文档,或者在文档不存在时添加一个条件,即upsert取决于exists查询。我可以在mongoDb shell中实现这一点,但不知道如何在Java中使用mongoTemplate实现这一点 我的问题是Java中以upsert为标准的MongoDB更新文档,java,mongodb,mongotemplate,Java,Mongodb,Mongotemplate,我必须根据条件更新文档,或者在文档不存在时添加一个条件,即upsert取决于exists查询。我可以在mongoDb shell中实现这一点,但不知道如何在Java中使用mongoTemplate实现这一点 我的问题是 db.Bookmark.update( { $and:[ { 'clientId':168613 }, { 'resourceId':76864136 }, {'books':{ $not: {$size :3} } } ] }
db.Bookmark.update( { $and:[
{ 'clientId':168613 },
{ 'resourceId':76864136 },
{'books':{ $not: {$size :3} } }
] },
{ $addToSet:{ 'books': DBRef( "book","168613_1671" ) } },
{ $not: { $exists:{ 'clientId': 168613, 'resourceId': 76864136 } }
} );
因此,如果在Bookmark collection中,书籍的大小小于3,则更新该集合,否则请检查upsert,这取决于是否存在clientId和resourceId组合的条目