Mongodb,戈朗。我可以在不将数据加载到内存的情况下计算 slice/map 吗?

Mongodb, golang. Can i count an slice/map without loading data into memory?

在我的 collection 实验室中,我有:

{
    "_id" : ObjectId("57e602ada35ea4db6e4eee27"),
    "areas" : [
        "nanotech",
        "robotics"
    ]
}

我的查询是: db.labs.find({"_id" : ObjectId("57e602ada35ea4db6e4eee27")},{areas:1})

我想要的是对切片中的元素进行计数而不是检索整个切片,有人知道吗?我使用的是 mgo 包,它与 golang 有很好的对应关系。谢谢

db.labs.aggregate([
  {$match: {"_id" : ObjectId("57e602ada35ea4db6e4eee27")}},
  {$project: {
      areasCount: {"$size": "$areas"}
    }
  }
])