duanhe8280 2019-04-23 06:40
浏览 247
已采纳

MGO查询嵌套的对象数组

I am having difficulty converting a MongoDB query to mgo bson. The Mongo record schema is as shown below. I want to find records that have topics with label "Education" and "Students".

db.questions.insert
(
    {
        "_id" : ObjectId("5cb4048478163fa3c9726fdf"),
        "questionText" : "why?",
        "createdOn" :  new Date(),
        "createdBy": user1,
        "topics" : [
            {
                "label": "Education",
            },
            {
                "label": "Life and Living",
            },
            {
                "label": "Students"
            }
        ]
    }
)

Using Robo 3T, the query looks like this:

db.questions.find({$and : [
    {"topics": {"label": "Students"}}, 
    {"topics": {"label": "Education"}}
]})

I am having trouble modeling this with MGO. Currently, have tried this:

map[$and:[
    map[topics:map[label:students]] 
    map[topics:map[label:life and living]]
]]

and this

map[topics:map[$and:[
    map[label:students] 
    map[label:life and living]
]]]
  • 写回答

2条回答 默认 最新

  • doutao4938 2019-04-23 16:25
    关注

    The bson model for the above answer is as follows:

    query = getAndFilters(
        bson.M{"topics": bson.M{"$elemMatch": bson.M{"label": "Students"}}},
        bson.M{"topics": bson.M{"$elemMatch": bson.M{"label": "Education"}}})
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?