【发布时间】:2026-01-11 05:15:01
【问题描述】:
每当我们执行 db.Collection.find().sort() 时,只有我们的输出被排序,而不是集合本身,
即如果我执行 db.collection.find() 那么我会看到原始集合,而不是排序的集合。
有什么方法可以对集合本身进行排序而不是对输出进行排序?
将排序结果导出到整个新集合中也可以。
如果我有编号 _id 字段。(如 _id:1 、 _id_2 、 _id:3 等)
【问题讨论】:
-
您可以使用 orderby 对您的收藏进行排序
-
您是否有特殊原因要这样做?存储的文档没有固有的“顺序”。如果您想经常对特定字段进行排序,请为其创建索引。
-
@rubyist 与执行 sort() 相同。他要问的是,是否有办法对存储在集合中的订单文档进行永久排序,但事实并非如此。
-
@TomSwifty 实际上我是 mongodb 的新手,我只是想知道我是否可以这样做,没有特别的原因。另外,你能告诉我更多关于索引的信息吗
-
简而言之,索引将使查询和排序速度提高几个数量级(只要您正确构建它们)