Mongodb 使用mgo查询子元素mongdb时取消禁用投影选项

Mongodb 使用mgo查询子元素mongdb时取消禁用投影选项,mongodb,go,mgo,Mongodb,Go,Mgo,我正在使用golang使用mgo对mongodb进行查询,但在查询子文档时,它抛出了不支持的投影选项错误 我正在处理以下文件 { "_id" : ObjectId("5b64a0d3931653c36bcaf0b5"), "quantity" : 2, "product" : "ABC", "children" : [ { "isBlocked" : true, "blo

我正在使用golang使用mgo对mongodb进行查询,但在查询子文档时,它抛出了
不支持的投影选项
错误

我正在处理以下文件

{
    "_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"}}

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

应该使用

原始mongodb查询如下所示:

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

谢谢但这只返回子文档“children”,有没有办法获取整个文档?这应该返回整个文档。您应该仔细检查您的查询我尝试了此查询,但只得到子项
bson.M{“\u id”:0,“children”:bson.M{“$elemMatch”:{serialNo:'abc123'}}}