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