有没有办法编辑mongo db排序?

时间:2019-03-22 12:49:43

标签: node.js express mongoose

我有一个猫鼬集合,该集合按先添加排序,我希望它按最后编辑的顺序排序

模型

var mongoose = require("mongoose");
var user = require("./user");

var questionSchema = new mongoose.Schema({
 text: String,
  asked: String,
  answer: String
 })

module.exports = mongoose.model("question", questionSchema);

放置请求代码:

router.put("/:user/:id", checkOwner, function(req, res){
 question.findByIdAndUpdate(req.params.id, req.body.question, function(err, 
 updatedQuestion){
  if(err) {
   console.log(err);
   } else {
    res.redirect("/");
   }
  });
});

我希望将updatedQuestion放在我收藏的首位

1 个答案:

答案 0 :(得分:0)

这是一种简单的方法:
首先,您必须在猫鼬模型中添加timestamps,才能访问createdAtupdatedAt属性。 您可以了解有关时间戳here

的更多信息
var mongoose = require("mongoose");
var user = require("./user");

var questionSchema = new mongoose.Schema({
 text: String,
  asked: String,
  answer: String
 },
{ timestamps: true}
)

module.exports = mongoose.model("question", questionSchema);

然后,您可以查询集合,并按updatedAt进行排序

question.find({}, {}, {sort: { 'updatedAt' : -1 }})

因此,最新的文档将首先显示。