我正在尝试将自己的头缠绕在猫鼬上,但是我很难找到一些更高级查询选项的文档,尤其是.in和.sort方法。例如,按年龄的人进行排序的语法是什么?

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

然后,假设我想找到一部基于类型的电影,其中电影可以拥有许多类型(在这种情况下,是一系列弦乐)。据推测,我会使用.in函数来实现这一目标,但是我不确定语法是什么。也许我根本不必使用.in方法...?无论哪种方式,我迷路了。

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

有人有想法么?甚至更好的是,链接到一些综合文档?

谢谢!
克里斯

有帮助吗?

解决方案

是的,Mongoose文档落后于其中的某些内容,不幸的是,解决方案不是很直观(当使用仍在经历快速开发的事物时,该领域与该版本的API更改为1.0版)

同时,这将在分类方面做您想要的事情:

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

至于关于更复杂的嵌套关系的问题,如果您还没有,您可能想从 出色的 MongoDB文档, ,特别是关于 模式设计, 高级查询点表示法(进入对象). 。知道蒙古内外应该会使猫鼬的模糊部分变得轻而易举。

这是使用$ In查找类型电影的示例:

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

其他提示

丹尼尔的答案对我不起作用。我相信API自1.0.14(http://groups.google.com/group/mongoose-orm/browse_thread/thread/thread/cc77914021940e73/34fc6fc6f45938a2242?lnk=raot)

这对我有用:

db.model("Person")
  .find()
  .sort('age', 1)
  .execFind(function(err, people) { 
 });
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top