Mongodb - 排序完整文档的数组元素

时间:2015-04-27 00:05:01

标签: mongodb

Mongo文件:

{
    "id": "5537736f74d2d3a413b7abcf",
    "userId": "1",
    "tripName": "default",
    "friends": [
        {
            "name": "f",
            "dob": "2015-05-01"         
        },
        {
            "name": "e",
            "dob": "2015-07-01"
        },
        {
            "name": "d",
            "dob": "2015-06-01"
        }
    ],

    "relatives": [
        {
            "name": "c",
            "dob": "2015-05-01"
        },
        {
            "name": "b",
            "dob": "2015-07-01"
        },
        {
            "name": "a",
            "dob": "2015-06-01"
        }
    ]
}

期望的输出:

{
    "id": "5537736f74d2d3a413b7abcf",
    "userId": "1",
    "tripName": "default",
    "friends": [
        {
            "name": "d",
            "dob": "2015-07-01"
        },
        {
            "name": "e",
            "dob": "2015-05-01"         
        },        
        {
            "name": "f",
            "dob": "2015-06-01"
        }
    ],

    "relatives": [
        {
            "name": "a",
            "dob": "2015-05-01"
        },
        {
            "name": "b",
            "dob": "2015-07-01"
        },
        {
            "name": "c",
            "dob": "2015-06-01"
        }
    ]
}

我想在name字段中对friends数组和relatives数组进行排序,并返回完整的文档。

如何解开两个数组,请帮我写出适当的查询来解决上述问题。

由于 巴布

1 个答案:

答案 0 :(得分:0)

如果没有必要在数据库中执行排序,您始终可以按原样检索文档,然后在查询后对数组进行排序。

如果从数据库中获取对象时已经对它们进行了排序非常重要,那么您可能想要考虑首先按顺序存储这些数组。