我正在嘗試對(duì)文檔數(shù)組中的元素?cái)?shù)量進(jìn)行預(yù)測(cè)。options.SetProjection(bson.M{ "foo": true, "nrOfBars": bson.M{ "$size": "$bars" },})bars是數(shù)組的字段名。盡管此查詢(xún)始終返回 0 而不是數(shù)組長(zhǎng)度。如何使用新的 mongo-go-driver 正確查詢(xún)數(shù)組的長(zhǎng)度?
1 回答

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
您正在嘗試將聚合運(yùn)算符用作投影文檔的一部分。投影文檔用于簡(jiǎn)單查詢(xún)以?xún)H返回某些字段。
您要使用的是聚合管道$project
中的階段。這與簡(jiǎn)單的投影文檔不同,您可以使用更復(fù)雜的聚合運(yùn)算符,例如.?這是一些示例代碼,我相信它可以滿(mǎn)足您的需求:$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)
此聚合返回一個(gè)游標(biāo)。要訪問(wèn)結(jié)果,您必須按照游標(biāo)文檔中的描述遍歷游標(biāo)。
- 1 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)
0/150
提交
取消