【发布时间】:2012-08-02 21:19:06
【问题描述】:
我有一个收藏,我想返回他们的视图 + 喜欢大于 100 的文档。 我怎样才能使用猫鼬方法做到这一点?
【问题讨论】:
我有一个收藏,我想返回他们的视图 + 喜欢大于 100 的文档。 我怎样才能使用猫鼬方法做到这一点?
【问题讨论】:
这不是一个标准查询,您可以在 mongodb 中查找,而无需对整个集合进行 map-reduce。
这是一个关于如何使用 mongoose 进行 map-reduce 查询的教程(看起来它实际上使用了底层的 node-mongodb-native 驱动程序):http://wmilesn.com/2011/07/code/how-to-map-reduce-with-mongoose-mongodb-express-node-js/
不过,Mongoose 有一个妙招,可以在这种情况下为您提供帮助。只需创建一个middleware,它使用每个save() 或update() 操作的组合分数更新一个字段。这种方法的一个优点是您可以在此组合字段上创建索引并进行超快速查找 - 比 map-reduce 快得多。
此middleware page 或plugin page 显示schema.pre('save', ...),您可以在每次保存文档时自动更新totals 字段。然后,您可以对总计字段 > 100 进行正常查询。
【讨论】: