Las filas cuyo campo es el doble que el otro campo se explican con un ejemplo:
{id : 1 , price : 10 , spent : 5} {id : 1 , price : 20 , spent : 30} {id : 1 , price : 40 , spent : 90} {id : 1 , price : 80 , spent : 200}Quiero una fila en la que el gasto sea igual o mayor al doble del precio (gastado >= 2*precio)
resultado :
{id : 1 , price : 40 , spent : 90} ==> (gastado >= 2 precio) [90>80]*
{id : 1 , price : 80 , spent : 200} ==> (gastado >= 2 precio) [160>200]*
consulte la sugerencia, excepto use $where
mi clúster mongo tiene limitaciones de uso $where
( MongoError: $donde no está permitido en este nivel de atlas )
La documentación de MongoDB es muy buena con ejemplos.
Hay una Reference de lugar que tiene todos los operadores.
Si no lo ha encontrado, tal vez intente lo siguiente, creo que esto es lo que necesita.
Consulta
$fieldName$expr se usa en el partido cuando usamos operadores agregados (en lugar de operaros de consulta) como hicimos aquí aggregate( [{"$match": {"$expr": {"$gt": ["$spent", {"$multiply": [2, "$price"]}]}}}])