使用 go mongo-driver 在对象的对象数组中查找匹配字段

我的 mongo 数据库有这样的结构。给定一个父级_id,例如,123如何进行查询来检查abc其父级中是否存在项目123?


[

  - _id: 123

    name: "item 1"

    items: [

      {

        _id: abc,

        age: 12,

      },

      {

        _id: efg,

        age: 12,

      }

    ]

  ,

  - id: 456

    name: "item 2"

    items: [

      ...

    ]

]

我目前有这个,并且已经尝试过$elemMatch,但似乎不起作用。


db.Collection("album").FindOne(context.Background(), bson.M{"_id": parentID})


墨色风雨
浏览 137回答 1
1回答

当年话下

目前尚不清楚是否items有单独的文档,或者是否是文档中的嵌套数组。无论哪种情况:如果items是文档中的嵌套数组,则:bson.M{"_id":parentID,"items._id":"abc"}将查找_idisparentID和 that 包含_id:"abc"在 的元素之一中的文档items。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go