如何根据 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})
我 运行 来自 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})