小编Ant*_* O.的帖子

在mongo中按子文档字段排序

给定以下集合:

[
    {
        name: User1
        metadata: [
            {k:"score", v: 5},
            {k:"other", v: 10}
        ]
    },
    {
        name: User2
        metadata: [
            {k:"score", v: 1},
            {k:"other", v: 1}
        ]
    },
    {
        name: User3
        metadata: [
            {k:"score", v: 2},
            {k:"other", v: 0}
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

您如何按它们的“分数”对它们进行排序?我可以按metadata.v字段进行排序,但是我不确定如何只考虑与“ k”:“ score”相匹配的子文档的“ v”值

预期的输出将是:

[
    {
        name: User2
        metadata: [
            {k:"score", v: 1},
            {k:"other", v: 1}
        ]
    },
    {
        name: User3
        metadata: [
            {k:"score", v: 2},
            {k:"other", v: 0}
        ]
    },
    {
        name: User1
        metadata: [
            {k:"score", …
Run Code Online (Sandbox Code Playgroud)

mongodb

5
推荐指数
1
解决办法
1231
查看次数

标签 统计

mongodb ×1