选择减法结果。MongoDB

irm*_*eza 1 mongodb

假设有如下集合:

db.test.insert([{"f1":100,"f2":150},{"f1":120,"f2":541},{"f1":125,"f2":140}])
Run Code Online (Sandbox Code Playgroud)

如何创建类似的查询 mongodb

Select count(*) from test where  (f2-f1)<100 
Run Code Online (Sandbox Code Playgroud)

我做了一些尝试,但没有奏效:

db.test.aggregate([{ $match: {} }, { $project: { _id : 0,name : 1, r1: {$subtract:["$f2", "$f1"]} }}])
Run Code Online (Sandbox Code Playgroud)

Phi*_*ipp 5

首先使用$project计算值创建结果集。然后用于$match过滤掉那些与您的条件不匹配的值。

db.test.aggregate(
    { $project: { _id : 0,
                  name : 1, 
                  difference: {$subtract:["$f2", "$f1"]}
                }
    },
    { $match: { difference: { $lt: 100 }
              }
    })
Run Code Online (Sandbox Code Playgroud)