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

How to sort an Array by the content of its documents in MongoDB

我 运行 来自 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
    }
]

使用排序方法:

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