【发布时间】:2020-05-02 19:29:49
【问题描述】:
我在尝试按updated_at“post”(子文档)的日期进行排序时遇到问题,代码如下 我按创建顺序查看帖子。我需要按更新日期排序。
var postSchema = new mongoose.Schema({
post: String,
created_at: { type: Date, default: Date.now },
updated_at: Date
});
var UserSchema = new mongoose.Schema({
username: String,
password: String,
posts: [postSchema]
});
app.get("/val",isLoggedIn, function(req, res){
var aca = req.user._id;
User.findById({_id: aca},function(err, myposts){
if(err){
console.log(err);
} else {
res.render("index", {dataposts:myposts});
}
});
});
【问题讨论】:
-
感谢您的回复。您认为有什么方法可以在 GET 的这一部分中包含排序。 app.get("/val",isLoggedIn, function(req, res){ var aca = req.user._id; User.findById({_id: aca},function(err, myposts){ if(err){ 控制台.log(err); } else { res.render("index", {dataposts:myposts}); } }); });
-
也许你可以使用
User.findById({_id: aca}).sort({'posts.updated_at': 'desc'}).exec(function(err, myposts) { ... }); -
谢谢我试过了,但它不起作用。零错误,但它不会对其进行排序。我不知道为什么。
-
你用的是什么版本的mongoDB,mongoose?