对整个收藏进行排序,然后保存在猫鼬中

时间:2019-07-03 10:54:56

标签: mongodb mongoose mongodb-query mongoose-populate

我有一个名为“论坛”的收藏集。

我想按“ forum_order”以升序排序,然后更新按“ forum_order”排序的整个集合。

我尝试了以下操作:

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

但是没有用。

enter image description here

如果成功,则图像中的“第一论坛”应位于“第三论坛”上方,以使第一论坛成为此“论坛”集合中的第一对象。

我该如何解决?我是mongodb的新手...

1 个答案:

答案 0 :(得分:1)

在mongo中,这实际上没有什么意义:无法更新将文档退还给您的默认顺序。如果您不指定排序,则它们会以mongo容易的顺序返回。

相反,在find文档db.forums.find({}).sort({forum_order: 1});时应指定排序顺序。如果您有很多论坛,则不妨在forum_order上添加索引。