我正在使用golang使用mgo对mongodb进行查询,但是在查询子文档时会抛出Unsupported projection option
错误。
我正在研究以下文件
{
"_id" : ObjectId("5b64a0d3931653c36bcaf0b5"),
"quantity" : 2,
"product" : "ABC",
"children" : [
{
"isBlocked" : true,
"blockedMessage" : "Error occurred: TRACEID",
"serialNo" : "abc123",
"token" : "foo456",
}
]
}
我正在使用的查询是
bson.M{"_id": 0, "children": bson.M{"serialNo": "abc123"}}
我可以知道错误在哪里吗?
答案 0 :(得分:1)
匹配数组元素应使用$elemMatch
原始mongodb查询如下:
db.collection.find({_id: ObjectId('...'), children: {$elemMatch: {serialNo: 'abc123'}}});