猫鼬,nodejs,在子文档中按日期排序

时间:2020-05-01 15:00:19

标签: node.js mongodb mongoose

我在尝试使用“ post”(子文档)的updatedat日期进行排序时遇到问题,使用以下代码 我按创建顺序查看帖子。我需要按更新日期排序。

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});
       }
    });
    });

1 个答案:

答案 0 :(得分:0)

我建议关注以下内容, 使用$order_by

User.findById({ $query : {_id: aca},$orderby: {updated_date: -1} })

在最新版本的猫鼬中,这应该起作用,

User.findById({_id: aca}).sort({updated_at:-1}).exec(function(err, myposts) { ... });