使用mgo查询子元素mongdb时的投影选项不支持

时间:2018-08-06 15:38:42

标签: mongodb go mgo

我正在使用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"}}

我可以知道错误在哪里吗?

1 个答案:

答案 0 :(得分:1)

匹配数组元素应使用$elemMatch

原始mongodb查询如下:

db.collection.find({_id: ObjectId('...'), children: {$elemMatch: {serialNo: 'abc123'}}});