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"}
}
}
])
在我的 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"}
}
}
])