为了账号安全,请及时绑定邮箱和手机立即绑定

mongo-go-driver 投影数组长度

mongo-go-driver 投影数组长度

Go
小唯快跑啊 2023-06-05 18:19:23
我正在尝试对文档数组中的元素数量进行预测。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)

此聚合返回一个游标。要访问结果,您必须按照游标文档中的描述遍历游标。



查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信