为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Mongodb java driver 3 的 $objectToArray 等价物

使用 Mongodb java driver 3 的 $objectToArray 等价物

慕斯709654 2022-05-25 17:34:07
我正在将 Mongodb 查询从 Javascript 移动到 Java。对象格式如下:{  "record": {    "unknownName1": {      "count": 5,      "domain": "domain1"    }, {    ...    }, {    "unknownNameN": {      "count": 3,      "domain": "domainN"    }  }}Javascript 查询具有以下部分:[  {     $project: {      record: {         $objectToArray: "$record"       }    }  }, {    $unwind: { "$record"  }, {    $group: {      device: "$record.k"    },     count: {      $sum: "$record.v.count"    },    domain: {      $min: "$record.v.domain"    }  }]我已将上述内容翻译为使用 Mongodb Java Driver 3 api,并具有以下内容:List<Bson> query = Arrays.asList(    project(include("record")),    unwind("$record"),    group(computed("device", "$record.k"),        sum("count", "$record.v.count"),        min("domain", "$record.v.domain")));我遇到的问题是我似乎无法使用 Mongodb Java 驱动程序找到与 $objectToArray 等效的对象,并且随后的 sum 和 min 操作取决于对使用 $objectToArray 生成的 k 和 v 值进行操作的点。是否有一种等效的方法可以使用 Mongodb Java 驱动程序将具有未知键名的对象映射到 $objectToArray 使用的 k 和 v 格式,最好是版本 3+?
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

下面会做。

project(computed("record", eq("$objectToArray", "$record")))


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信