如何根据MongoDB中文档的内容对Array进行排序

时间:2015-01-23 09:43:42

标签: javascript mongodb sorting

我从MongoDB-Shell中的JavaScript函数运行以下命令:

db._adminCommand( {listDatabases: 1}).databases

这让我:

[
    {
        "name" : "local",
        "sizeOnDisk" : 83886080,
        "empty" : false
    },
    {
        "name" : "time",
        "sizeOnDisk" : 83886080,
        "empty" : false
    },
    {
        "name" : "event",
        "sizeOnDisk" : 83886080,
        "empty" : false
    },
    {
        "name" : "admin",
        "sizeOnDisk" : 1,
        "empty" : true
    },
    {
        "name" : "test",
        "sizeOnDisk" : 1,
        "empty" : true
    }
]

是否可以通过字段名称中的值对该数组中的文档进行排序?

最后我想得到:

[
    {
        "name" : "admin",
        "sizeOnDisk" : 1,
        "empty" : true
    },
    {
        "name" : "event",
        "sizeOnDisk" : 83886080,
        "empty" : false
    },
    {
        "name" : "local",
        "sizeOnDisk" : 83886080,
        "empty" : false
    },
    {
        "name" : "test",
        "sizeOnDisk" : 1,
        "empty" : true
    },
    {
        "name" : "time",
        "sizeOnDisk" : 83886080,
        "empty" : false
    }
]

1 个答案:

答案 0 :(得分:2)

使用排序方法:

db._adminCommand( {listDatabases: 1}).databases.sort(function(item1, item2){return item1.name > item2.name})