Javascript 如何对集合MongoDB中的对象数组进行排序?
我正在使用node.js和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,
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})代码>