我正试图围绕 mongoose 展开思考,但我很难找到任何类型的文档来了解一些更高级的查询选项,特别是 .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 documentation 开始,特别是 Schema Design 上的文章, Advanced Queries和 Dot Notation (reaching into objects) .了解 MongoDB 的内部和外部应该可以轻松地浏览 mongoose 的模糊部分。
这是一个使用 $in 按类型查找电影的示例:
db.model("Movie").find({ 'genres': { $in: ['Horror','Comedy'] } }).all(function(movies) { });
关于mongodb - Node.js mongoose : how to use the . in 和 .sort 查询的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523175/