对整个 collection 进行排序,然后保存在 mongoose 中

Sort whole collection then save in mongoose

我有一个叫 "Forum" 的 collection。

我想按 "forum_order" 升序排序,然后更新按 "forum_order" 排序的整个 collection。

我试过以下方法:

Forum.findByIdAndUpdate({}).sort({forum_order: 1}).exec(function(err, updatedTasks) { if (err) { console.log(err); } });

但是没用。

如果成功,图像中的“1st Forum”应该在“3rd Forum”的上方,这样1st Forum 就成为'forums'collection中的第1object。

我该如何解决这个问题?我是 mongodb...

的新手

这在 mongo 中并不是真正有意义的事情:无法更新文档 returned 给您的默认顺序。当您不指定排序时,它们将 return 以易于 mongo.

的顺序排列

相反,您应该在 find 文档时指定排序顺序:db.forums.find({}).sort({forum_order: 1});。如果您的论坛 collection 很大,您可能希望在 forum_order.

上添加索引