mongodb - 如何计算 MongoDB 中嵌入文档中的字段数

标签 mongodb aggregation-framework

我有一个文件如下:

{
    "_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"]
     }
}

我想计算 data 字段中的字段数,该字段是另一个文档中的嵌入文档。因为它不是数组,所以我找不到办法。

最佳答案

您可以使用版本 3.4.4 中引入的新 $objectToArray 表达式:https://jira.mongodb.org/browse/SERVER-18794

db.test.aggregate([{$project: {data_size: {$size: {$objectToArray: "$data"}}}}])

关于mongodb - 如何计算 MongoDB 中嵌入文档中的字段数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43487023/

相关文章:

java - Mongo 存储库测试搜索 Jpa 存储库

Mongodb:ACCESS [main] 错误打开文件:/mongo/key.txt: bad file

mongodb - GORM 在 Grails 中使用 MongoDB 按 ID 获取/查找资源

node.js - 类型错误 : Cannot read property 'find' of undefined on mongoose

node.js - Mongoose - 如何在自定义类型上添加 2dsphere 索引?

MongoDB - 使用聚合框架或 mapreduce 匹配文档中的字符串数组(配置文件匹配)

mongodb - 聚合来自两个数组的 $sum 值

mongodb - 从数组大小进行投影会引发未定义数组的错误

javascript - MongoDB 按 _id 的时间戳分组

mongodb - Golang mongodb 聚合