1 回答
TA貢獻1801條經驗 獲得超8個贊
您正在查詢一個Building文檔,因此mongo即使您嘗試使用投影掩蓋其某些字段,也會將其返回給您。
我不知道有什么方法可以計算查詢中mongo數組中元素的數量find,但是您可以使用聚合框架,在那里您可以使用$size運算符來執行此操作。因此,您應該將這樣的查詢發送至mongo:
db.buildings.aggregate([
{
"$match":
{
"_id": buildingID,
"p": {
"$elemMatch": {"l": fNum}
}
}
},
{
"$project":
{
nrOfFloors: {
"$size": "$p"
}
}
}])
里面的哪個go看起來像
result := []bson.M{}
match := bson.M{"$match": bson.M{"b": bldg_uuid, "p": bson.M{"$elemMatch": bson.M{"l": fNum}}}}
count := bson.M{"$project": bson.M{"nrOfFloors": bson.M{"$size": "$p"}}}
operations := []bson.M{match, count}
pipe := sess.DB("mgodb").C("building").Pipe(operations)
pipe.All(&result)
- 1 回答
- 0 關注
- 241 瀏覽
添加回答
舉報
