Есть ли способ редактировать Mongo DB сортировку? - PullRequest
0 голосов
/ 22 марта 2019

У меня есть коллекция мангуст, которая сортируется по первому добавленному, и я хочу, чтобы она сортировалась по последнему редактированному

Модель

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("/");
   }
  });
});

Я хочу, чтобы обновленный вопрос был на вершине моей коллекции

1 Ответ

0 голосов
/ 22 марта 2019

Вот один простой подход:
Сначала вы должны добавить 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 }})

Таким образом, самый последний обновленный документ будет показан первым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...