【问题标题】:Mongoose function to return documents with two fields sum greater than a specified valueMongoose 函数返回两个字段总和大于指定值的文档
【发布时间】:2012-08-02 21:19:06
【问题描述】:

我有一个收藏,我想返回他们的视图 + 喜欢大于 100 的文档。 我怎样才能使用猫鼬方法做到这一点?

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    这不是一个标准查询,您可以在 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 pageplugin page 显示schema.pre('save', ...),您可以在每次保存文档时自动更新totals 字段。然后,您可以对总计字段 > 100 进行正常查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 2017-05-14
      • 2021-10-19
      • 2018-06-06
      相关资源
      最近更新 更多