mongodb - Node.js mongoose : how to use the . in 和 .sort 查询的方法?

标签 mongodb node.js mongoose

我正试图围绕 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 QueriesDot 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/

相关文章:

arrays - 对 MongoDB 集合中的对象数组进行排序

node.js - 当我使用 Passport.authenticate() 时,标题消失

javascript - 上传后无法读取.docx文件(nodejs)

node.js - 使用 Mongoose 通过 _id 查找

javascript - 如何使用 mongoose 检查 MongoDB 中是否已存在记录/文档?

node.js - 如何在 Mongoose 中填充引用另一个模式的对象数组

java - 在 mongo 中插入记录时出现重复键错误索引

mongodb - 如何在 Golang 的 MGO mongo db 驱动程序中获取我的文档的 ObjectId (_id)

node.js - 如何在 Mongoose 的 upsert 操作中设置更新时间戳?

python - 使用 node-celery(MeteorJS) 和 ampq 后端时,Celery 不返回结果