No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Expresive operator

25/30
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

otra forma de hacer la misma consulta

use("sample_training")
db.trips.find({
    $and: [
        {$expr: {
            $eq: ["$start station id", "$end station id"]
        }},
        {tripduration: {
            $gte: 1200
        }}
    ] 
}).count()

Expresive operator ($expr) : Sirve para comparar valores en el mismo documento.
Nota: poner atención a la sintaxis cuando se usa este operador.

use ("sample_training")

// db.trips.find({
//     $expr: {
//         $eq: ["$start station id", "$end station id"]
//     }
// }).count()

db.trips.find({
    $expr: {
        $and: [
            {$eq: ["$start station id", "$end station id"]},
            { $gte: ["$tripduration", 1200]}
            //{ tripduration: {$gte: 1200}}
        ]
    } 
}).count()
![](https://static.platzi.com/media/user_upload/image-85c7fdc9-9b2d-4c61-ac0d-72c7b2c157a9.jpg) ```js // $expr se utiliza para comparar campos de un documento use('football'); db.scorers.find({ $expr: { $gte: ['$goles', '$partidos_jugados'] } }); ```
```js /** * ? Busca los documentos donde: * * La estación de inicio sea igual a la estación de destino * * La duración del viaje sea mayor a 1200 * * El tipo de usuario sea Costumer * * El año de nacimiento sea >= a 1980 */ use("sample_training"); db.trips.find({ $expr: { $and: [ { $eq: ["$start station id", "$end station id"] }, { $gte: ["$tripduration", 1200] }, { $eq: ["$usertype", "Costumer"] }, { $gte: ["$birth year", 1980] }], }, }); ```