首页 >社区问答列表 >MongoDB 查询 (两个字段差值作为条件查询)

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

字段

  • name string
  • x int
  • y int

表记录

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

查询结果

查询所有 x > y 的所有 name

  • 迷茫
  • 迷茫    2017-04-27 09:04:021楼

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

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

    +0添加回复

  • 回复