Node.js mongoose:如何使用查询的.in和.sort方法?

Chr*_*ton 5 mongoose mongodb node.js

我试图把我的脑袋包裹在猫鼬附近,但是我很难找到一些更高级的查询选项的文档,特别是.in和.sort方法.排序的语法是什么,例如,按年龄排序的人?

db.model("Person").find().sort(???).all(function(people) { });

然后,假设我想找一个基于流派的电影,其中电影可以有很多类型(在这种情况下,是一个字符串数组).据推测,我使用.in函数来实现这一点,但我不确定语法是什么.或许我根本不必使用.in方法......?无论哪种方式,我都输了.

db.model("Movie").find().in(???).all(function(movies) { });

有人有主意吗?或者甚至更好,链接到一些综合文档?

谢谢!
克里斯

Dan*_*del 9

是的,mongoose文档在其中一些方面是滞后的,不幸的是,解决方案并不是非常直观(当使用仍在快速开发和API更改的方式到1.0版本时,领域也是如此)

同时,这将在排序方面做你想要的:

db.model("Person").find().sort([['age','ascending']]).all(function(people) { });
Run Code Online (Sandbox Code Playgroud)

至于更复杂的嵌套关系的问题,如果你还没有,你可能想要从优秀的 MongoDB文档开始,特别是有关Schema Design,Advanced QueriesDot Notation(到达对象)的文章.从内到外了解MongoDB应该可以轻松导航猫鼬的模糊部分.

以下是使用$ in按流派查找电影的示例:

db.model("Movie").find({ 'genres': { $in: ['Horror','Comedy'] } }).all(function(movies) { });
Run Code Online (Sandbox Code Playgroud)