登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-02 12:36:35 127浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《使用 mgo 查询子元素 mongdb 时不受支持的投影选项》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我正在使用 golang 对 mongodb 进行查询,但在查询子文档时它会抛出 unsupportedprojectionoption 错误。

我正在处理以下文档

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

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


解决方案


匹配数组元素应使用 $elemMatch 完成

原始 mongodb 查询如下所示:

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

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>