首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongodb相当于按字段对GROUPed进行排序

mongodb相当于按字段对GROUPed进行排序
EN

Stack Overflow用户
提问于 2014-08-05 22:28:59
回答 1查看 83关注 0票数 2

我在MongoDB中有两个集合。让我们称其中一个为“对象”:

代码语言:javascript
复制
{
    _id: 11,
    name: "Foo"
},
{
    _id: 12,
    name: "Bar"
},
{
    _id: 13,
    name: "Quux"
}

另一个是“值”,它引用了“对象”:

代码语言:javascript
复制
{
    _id: 21,
    value: "One",
    object_id: 11
},
{
    _id: 22,
    value: "Two",
    object_id: 11
},
{
    _id: 21,
    value: "Three",
    object_id: 13
}

我想查询"objects“集合,显示"objects”中每个文档的"values“传入链接的数量,并按该数量降序排序。我想收到这样的东西:

代码语言:javascript
复制
{
    _id: 11,
    name: "Foo",
    links: 2
},
{
    _id: 13,
    name: "Quux"
    links: 1
},
{
    _id: 12,
    name: "Bar",
    links: 0
}

在SQL中,这可以使用简单的外连接、GROUP BY和ORDER BY来实现。

我不能使用MapReduce (这必须是一个在线查询,而不是计划的作业)。我不能将任何东西反规范化为“对象”和“值”,实际上,“值”是相当大的文档的集合,根据其确切的结构,具有大量遗留代码。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-05 22:55:20

MongoDB没有联接。没有办法通过一个查询从多个集合中获取数据。这意味着您需要在应用程序层上对连接进行编程,然后在应用程序中执行GROUP BY。如何做到这一点取决于您的应用程序所使用的技术。

很抱歉,这是当您为MongoDB组织数据时得到的结果,就像它是一个SQL数据库一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25141336

复制
相关文章

相似问题

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