我正在尝试对文档数组中的元素数量进行预测。options.SetProjection(bson.M{ "foo": true, "nrOfBars": bson.M{ "$size": "$bars" },})bars是数组的字段名。尽管此查询始终返回 0 而不是数组长度。如何使用新的 mongo-go-driver 正确查询数组的长度?
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
您正在尝试将聚合运算符用作投影文档的一部分。投影文档用于简单查询以仅返回某些字段。
您要使用的是聚合管道$project
中的阶段。这与简单的投影文档不同,您可以使用更复杂的聚合运算符,例如. 这是一些示例代码,我相信它可以满足您的需求:$size
ctx := context.TODO()
pipeline := bson.A{
bson.D{{
"$project",
bson.D{
{"foo", 1},
{"nrOfBars", bson.D{
{"$size", "$bar"},
}},
},
}},
}
cur, err := col.Aggregate(ctx, pipeline)
此聚合返回一个游标。要访问结果,您必须按照游标文档中的描述遍历游标。
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消