mongodb 中的 projection 和 sort 的问题

2015-12-16 12:16:49 +08:00
 yuetsh

使用的是 mongoose ,
在 projection 中不包含的字段在 sort 中使用,会不会出错?

var projection = {
    title: 1,
    description: 1,
    coverImageUrl: 1,
    industryTag: 1,
    category: 1,
    eventTime: 1,
    eventLocation: 1,
    createAt: 1
};

User.find(query, projection).sort({priority: -1}).exec()
这个会不会有问题呢?

3641 次点击
所在节点    MongoDB
5 条回复
EPr2hh6LADQWqRVH
2015-12-16 12:28:47 +08:00
不会
yuetsh
2015-12-16 13:00:20 +08:00
@avastms 也就是说,执行顺序是先排序在返回限制的结果?
Keita1314
2015-12-16 13:47:07 +08:00
@yuetsh 应该返回了限制的结果再排序的,其实 sort 的字段不存在的话,也就是默认不排序,而不是出错
yuetsh
2015-12-16 14:19:49 +08:00
@Keita1314 虽然不出错,但是要是 projection 不包含 sort 字段,预计的排序就会失效,所以,最好是包含进去?
Keita1314
2015-12-16 14:40:54 +08:00
@yuetsh 是的 如果要对字段排序 首先要查出的结果包含字段

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/243903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX