数据库示例...
{ "code" : "2156",
"trades" : [
{
"close" : 78000,
"date" : "2017.11.08"
},
{
"close" : 25300,
"date" : "2017.08.07"
},
{
"close" : 74900,
"date" : "2017.11.07"
}
]
},
{ "code" : "2158",
"trades" : [
{
"close" : 79000,
"date" : "2017.11.08"
},
{
"close" : 24300,
"date" : "2017.08.07"
},
{
"close" : 71900,
"date" : "2017.11.07"
}
]
}
以上是我现有的mongodb数据样本。我想要做的是按 date asc 在 trades
中安排对象。所以应该这样安排
"trades" : [
{
"close" : 24300,
"date" : "2017.08.07"
},
{
"close" : 71900,
"date" : "2017.11.07"
},
{
"close" : 79000,
"date" : "2017.11.08"
}
]
有什么办法吗?我正在使用 Node.js 和 Mongoose。 我已经查看了这篇文章:
how to sort array inside collection record in mongoDB
但它看起来并没有对 db 本身进行排序,它只是根据特定条件查询 db,对吧?有没有办法订购数据库本身?
最佳答案
您可以 $sort
用于对数组中的元素进行排序的修饰符。 multi:true
将更新应用于多个文档。
有点像
db.collection_name.update( { }, { $push: { trades: { $each: [ ], $sort:{date:1}} } }, {multi: true } )
关于javascript - 如何更新以对数组元素进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48054825/