MongoDB обновляет документ с помощью upsert в качестве критерия в Java - PullRequest
0 голосов
/ 26 сентября 2018

Я должен обновить документ в соответствии с критериями или добавить один, когда документ не существует, т.е. upsert зависит от существующего запроса.Я могу добиться этого в оболочке mongoDb, но понятия не имею, как добиться того же с mongoTemplate в Java.

мой запрос

db.Bookmark.update( { $and:[ 
      { 'clientId':168613 }, 
      { 'resourceId':76864136 }, 
      {'books':{ $not: {$size :3} } } 
    ] },
    { $addToSet:{ 'books': DBRef( "book","168613_1671" ) } },
    { $not: { $exists:{ 'clientId': 168613, 'resourceId': 76864136 } } 
} );

, поэтому, если в коллекции закладок размер книг меньшечем 3, затем обновите коллекцию, иначе проверьте upsert, который зависит от того, есть ли запись для комбинации clientId и resourceId.

...