获取并排序数组Mongodb [英] Get And Sort In Array Mongodb
本文介绍了获取并排序数组Mongodb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的文件
{
"id": "1",
"myarray": [
{
"_id": "4",
"name": "d",
"order": 4
},
{
"_id": "1",
"name": "a",
"order": 1
},
{
"_id": "2",
"name": "b",
"order": 2
}
]
}
从数据库获取数据时,我想按顺序查看数组中的排序数据 我正在尝试如下查询,但似乎不行,什么都没改变
i want to see sort data in array by order when get from db i am trying some query like below but it seems not OK and nothing changed
db.collection.aggregate([{$unwind: "$myarray"},{$project: {orders:"$myarray.order"}},{$group: {_id:"$_id",min:{$min: "$orders"}}},{$sort: {min:1}}])
db.myarray.find({},{$sort:{"myarray.order":-1}})
db.collection.find({"_id":"1"}).sort({"myarray.order":1})
什么是正确的查询?
我需要这样的东西
db.collection.find({"_id":"1"}).sort({"myarray.order":1})
推荐答案
您可以使用聚合管道
db.collection.aggregate([
{ "$unwind": "$myarray" },
{ "$sort": { "myarray.order": 1 }},
{ "$group": { "_id": "$_id", "myarray": { "$push": "$myarray" }}}
])
这篇关于获取并排序数组Mongodb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文