suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

字段

表记录

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

查询结果

查询所有 x > y 的所有 name

为情所困为情所困2762 Tage vor750

Antworte allen(2)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-04-27 09:04:02

    db.collections.find({'$where': "this.x > this.y"}, {'name': 1})
    

    Antwort
    0
  • 迷茫

    迷茫2017-04-27 09:04:02

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

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

    Antwort
    0
  • StornierenAntwort