首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongo查询: GraphLookup或Aggregate

Mongo查询: GraphLookup或Aggregate
EN

Stack Overflow用户
提问于 2018-07-30 11:47:38
回答 1查看 68关注 0票数 0

寻找一些关于如何为图形网络可视化构建mongo查询的方向。

我有一个数据模型,看起来像这样:

代码语言:javascript
复制
stories[
{
  story: "story 1",
  theme_ids: [1,2,3],
  author_ids: [a,b,c]
},
{
  story: "story 2",
  theme_ids: [4],
  author_ids: [a]
}
...
]

我希望查询的结果能够获取所有的主题和作者对,如下所示:

代码语言:javascript
复制
[
{from: 1, to: a},
{from: 1, to: b},
{from: 1, to: c},
{from: 2, to: a},
{from: 2, to: b},
{from: 2, to: c},
{from: 3, to: a},
{from: 3, to: b},
{from: 3, to: c},
{from: 4, to: a}
]

谢谢!MongoDB v3.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 13:49:51

您可以使用double $unwind来获取所有对:

代码语言:javascript
复制
db.col.aggregate([
    {
        $project: {
            from: "$theme_ids",
            to: "$author_ids"
        }
    },
    {
        $unwind: "$from"
    },
    {
        $unwind: "$to"
    }
])

如果需要删除重复项,可以使用$addToSet添加$group

代码语言:javascript
复制
{
    $group: {
        _id: null,
        uniquePairs: { $addToSet: "$$ROOT" }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51586727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档