我有一份文件如下:
java Test | wc
我想计算{
"_id" : ObjectId("58f5f4e0e405972824b8ff03"),
"type" : "Defect Status",
"data" : {
"1" : [ "121764", "Bug", "7/6/15", "Closed" ],
"2" : [ "121830", "Bug", "7/7/15", "Closed" ],
"3" : [ "122333", "Bug", "7/16/15","Closed"],
"4" : [ "122339", "Bug", "7/16/15","Closed"],
"5" : [ "122340", "Bug", "7/16/15", "Closed"]
}
}
字段内的字段数,这是另一个文档中的嵌入文档。因为它不是一个阵列,所以我找不到办法。
答案 0 :(得分:2)
您可以使用版本3.4.4中引入的新$objectToArray
表达式:https://jira.mongodb.org/browse/SERVER-18794
db.test.aggregate([{$project: {data_size: {$size: {$objectToArray: "$data"}}}}])
答案 1 :(得分:0)
这可以用宿主语言完成。完成db.find()
获取文档(称之为d
)后,调用
Object.keys(d).length
假设您的主机语言是JavaScript。对于Python,Ruby或Java主机或任何其他主机语言,有类似的方法。