登录
首页 >  Golang >  Go问答

在 MongoDB 中以嵌套形式展示文档,而不修改数据库

来源:stackoverflow

时间:2024-02-20 21:18:18 196浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《在 MongoDB 中以嵌套形式展示文档,而不修改数据库》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我有一个带有父引用的 mongodb 文档的特定列表,但它不是嵌套的。 我想以嵌套形式显示它而不在数据库中进行更改。文档通过字符串类型的单列“parent”连接。我正在使用 golang 来检索数据。

type Category struct {
   UID        primitive.ObjectID    
   CategoryID string        
   Parent     string             
   Title      string
}

单个类别的 uid 是其子类别的父类别。 如何在父级的基础上以嵌套形式显示它。


正确答案


我认为您想要关联来自不同集合的文档,如果这就是您正在寻找的内容,您可以尝试聚合。 通过聚合,您可以从不同的集合中获取文档并将其放入结果中,但您需要相等的字段值。

cursor, err := parentCollection.Aggregate(context, []bson.M{
            {"$lookup": {                  // $lookup operator to get document from other collection
                "from": "CategoryCollection",
                "localField": "Parent string",
                "foreignField": "Parent string",
                "as": "Category"
            }},
{
            "$match": {     //$match operator to select the Parent you need
                "ParentId": {
                    "id": "parentId"  // If you need only selected parent
                }
            }
        }
        })

终于介绍完啦!小伙伴们,这篇关于《在 MongoDB 中以嵌套形式展示文档,而不修改数据库》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

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