[英]Equivalent of $objectToArray using Mongodb java driver 3
我正在將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驅動程序(最好是3+版本)將具有未知鍵名的對象映射為$ objectToArray所使用的k和v格式?
下面會做。
project(computed("record", eq("$objectToArray", "$record")))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.