Javascript 如何对集合MongoDB中的对象数组进行排序?

Javascript 如何对集合MongoDB中的对象数组进行排序?,javascript,node.js,mongodb,sorting,mongoose,Javascript,Node.js,Mongodb,Sorting,Mongoose,我正在使用node.js和MongoDB。我有下一个架构的集合: var project = new Schema({ head:{ head_task: String, userID: String }, access_users: { type : Array , "default" : []}, context_task: [{ from_name: String, status: Boolean,

我正在使用node.js和MongoDB。我有下一个架构的集合:

var project = new Schema({
head:{
    head_task: String,
    userID: String
},
access_users: {
    type : Array ,
    "default" : []},
context_task: [{
            from_name: String,
            status: Boolean,
            task: String,
            created_task: {
                type: Date,
                default: Date.now()
             }
        }],
created: {
        type: Date,
        default: Date.now
    }});
如何按字段上下文获取文档排序\u task.created\u task by DESC。 我认为我必须使用聚合查询

db.tasks.aggregate({$match :{"_id":ObjectId("590e2d7d4d4a5e0b647d0835")}},
 {$sort: {"context_task.created_task": -1}}).pretty();
但是分类不起作用。 也许我必须对客户机上的数据进行排序?
有人能帮我解答这个问题吗?

$sort已被弃用。您需要在find中使用sort函数

db.tasks.find({_id : "590e2d7d4d4a5e0b647d0835" })
.sort({context_task.created_task : 1})
.limit(1)

请参阅此选项。使用.find()时它是否有效?db.tasks.find({“\u id”:ObjectId(“590e2d7d4d4a5e0b647d0835”),{sort:“context\u task.created\u task”:1})?@Dinesh,谢谢,它帮助了我。谢谢,但它对我不起作用。我正在使用下一个查询和此工作<代码>db.tasks.aggregate({$match:{“_id”:ObjectId(“592e87cf7a91b810209235cc”)},{$unwind:'$context_task'},{$sort:{'context_task.created_task':-1})