在我的收藏实验室中,我有:
{
"_id" : ObjectId("57e602ada35ea4db6e4eee27"),
"areas" : [
"nanotech",
"robotics"
]
}
我的查询是:
db.labs.find({"_id" : ObjectId("57e602ada35ea4db6e4eee27")},{areas:1})
我想要的是计算切片中的元素但不检索整个切片,任何人都知道吗?我正在使用mgo包,它与golang有很好的对应关系。感谢
答案 0 :(得分:1)
db.labs.aggregate([
{$match: {"_id" : ObjectId("57e602ada35ea4db6e4eee27")}},
{$project: {
areasCount: {"$size": "$areas"}
}
}
])