У меня есть коллекция мангустов, которая сортируется по первому добавлению, и я хочу, чтобы она сортировалась по последнему редактированию.
Модель
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.info(err);
} else {
res.redirect("/");
}
});
});
Я хочу, чтобы этот обновленный вопрос был в верхней части моей коллекции





Вот один простой подход:
Сначала вы должны добавить timestamps в свою модель мангуста, чтобы иметь доступ к свойствам createdAt и updatedAt.
Подробнее о временных метках см. здесь.
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 }})
Таким образом, самый последний обновленный документ будет показан первым.