Mongodb用ratio比较两个字段



字段是另一个字段的两倍的行举例说明:

{id : 1 , price : 10 , spent : 5}
{id : 1 , price : 20 , spent : 30}
{id : 1 , price : 40 , spent : 90}
{id : 1 , price : 80 , spent : 200}

我想要一行的花费等于或大于2倍的价格(花费>= 2*价格)

结果:

{id : 1 , price : 40 , spent : 90}==>(spent>= 2price) [90>80]*

{id : 1 , price : 80 , spent : 200}==>(spent>= 2price) [160>200]*

请参考建议,除了$在

我的mongo集群有使用限制$where

(MongoError: $where是不允许的))

MongoDB文档是非常好的例子。
有一个地方Reference有所有的操作符。
如果你还没有找到,也许可以试试下面的,我想这就是你需要的。

查询

  • 我们可以参考$fieldName
  • 字段
  • 和gt/multiply操作符使用
  • 当我们使用聚合操作符(而不是查询操作符)时,最后$expr在匹配中使用,就像我们在这里所做的那样

Playmongo

aggregate(
[{"$match": {"$expr": {"$gt": ["$spent", {"$multiply": [2, "$price"]}]}}}])

最新更新