Javascript .sort()完全不工作(mongoose)

Javascript .sort()完全不工作(mongoose),javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,.sort()函数似乎根本不适合我,它不会对我所做的任何事情进行排序 我通过手柄{{Book}显示输出 router.get("/", (req, res) => { Book.find({ _id: req.params.id }) .sort({ 'chapters.orderIndex': 1 }) //wont sort .then(books => { res.render("books/index", { books:

.sort()
函数似乎根本不适合我,它不会对我所做的任何事情进行排序

我通过手柄{{Book}显示输出

router.get("/", (req, res) => {
  Book.find({ _id: req.params.id })

    .sort({ 'chapters.orderIndex': 1 }) //wont sort 

    .then(books => {
      res.render("books/index", {
        books: books
      })
    });
});
我还尝试:

.sort({ 'Book.chapters.orderIndex': 1 }) 

.sort({ 'Book.date': 1 })

.sort({ 'date': 1 }) //field from Book

.sort({ date: 1 })
并尝试使用
asc
/
desc
代替
1
/
-1

知道为什么
.sort()
不起作用吗

参见猫鼬文档:

猫鼬查询不是承诺。它们有一个用于co和async/await的.then()函数,以方便使用。如果需要完整的承诺,请使用.exec()函数

因此,为了建立上述承诺执行,请查看下面的示例代码:

router.get("/", (req, res) => {

    let query = Book.find({ _id: req.params.id })
    .sort({ 'chapters.orderIndex': 1 });

    let promise = query.exec();

    promise.then(books => {
        res.render("books/index", {
            books: books
        })
    });
});

你的猫鼬版本是什么?我认为你使用了错误的语法非常感谢,我一直在寻找解决方案,但从未遇到过这个问题。