Si tengo una colección llamada juego que tiene un esquema como este.
{"team": "A", "opponent": "B", "points": 101, "opp_points": 100} {"team": "B", "opponent": "A", "points": 100, "opp_points": 101}¿Hay alguna manera de consultar una comparación entre dos campos en la misma colección?
El equivalente de SQL sería.
SELECT * FROM game where points > opp_points;Revisé la documentación de Mongo y no encontré esto, pero pensé que probablemente lo tenían.
Use $expr en $match en agregación o en $find
db.collection.aggregate([ { $match: { $expr: { $gt: [ "$points", "$opp_points" ] } } } ])Zona de trabajo de agregación de Mongo
db.collection.find({ $expr: { $gt: [ "$points", "$opp_points" ] } })Trabajo Mongo patio de juegos de encontrar