首页 > 解决方案 > 如何使用 java 代码转换 mongodb 查询

问题描述

我是 MongoDB 的新手。我想将此 mongo DB 查询转换为 java 代码。我已经尝试了一点。但我有一个问题。请,如果有人帮助意味着这对我来说将是一个很大的帮助。提前致谢。

db.getCollection('test').aggregate(
  [{
      $match: {
        "ids": 9999999,
        $or : [{"tags.name":"roja"},{"tags.location":"US"},{"tags.year":2019}]
      }
    },
    {
      '$facet': {
        metadata: [{ $count: "total" }],
        data: [{
          $addFields: {
            "weight": {
              $map: {
                input: "$tags",
                as: "tagsEl",
                in: {
                  "$add": 
                    [              
                      {$cond: [ { $eq: [ '$$tagsEl.roja', 'roja' ] }, 15, 1 ]} ,
                      {$cond: [ { $eq: [ '$$tagsEl.location', 'US' ] }, 10, 1 ]},
                      {$cond: [ { $eq: [ '$$tagsEl.year', 2019 ] }, 5, 1 ]}                    
                    ]
                }
              }
            }
          }
        }, { $skip: 0 }, { $limit: 10 }, { '$sort': { 'weight' : -1 } }]
      }
    }
  ]
)

标签: mongodbmongodb-java

解决方案


您可以使用Studio3T将您的查询直接转换为 java 代码,除非您不熟悉语法。

https://studio3t.com/knowledge-base/articles/query-code/


推荐阅读