首页 > MongoDB 查询 (两个字段差值作为条件查询)

MongoDB 查询 (两个字段差值作为条件查询)

字段

表记录

name x y
jhon 1 2
lily 2 1
gan 3 2

查询结果

查询所有 x > y 的所有 name


这样还能按照x y 的差值排序

db.collection.aggregate(
    [  
      {
        $project : {
           _id: '$name',
           val: { $subtract : [ "$x", "$y" ] },
           x: '$x',
           y: '$y'
        }
      },
      {$match: {val: {$gt: 0}}},
      {$sort: { val: -1 }}
   ]
)

db.collections.find({'$where': "this.x > this.y"}, {'name': 1})
【热门文章】
【热门文章】