登录
首页 >  Golang >  Go问答

在嵌套的对象数组中使用 Go 的 MongoDB 驱动查找匹配字段

来源:stackoverflow

时间:2024-03-12 19:30:33 224浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《在嵌套的对象数组中使用 Go 的 MongoDB 驱动查找匹配字段》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我的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})

解决方案


尚不清楚items是否有单独的文档,或者是否是文档中的嵌套数组。无论哪种情况:

如果 items 是文档中的嵌套数组,则:

bson.M{"_id":parentID,"items._id":"abc"}

将查找 _idparentid 且在 items 的元素之一中包含 _id:"abc" 的文档。

到这里,我们也就讲完了《在嵌套的对象数组中使用 Go 的 MongoDB 驱动查找匹配字段》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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