Definición
$lteSintaxis:
{ field: { $lte: value } }$lteselecciona los documentos donde el valor defieldes menor o igual a (es decir,<=) elvalueespecificado.Para la mayoría de los tipos de datos, Los operadores de comparación solo realizan comparaciones en campos donde el tipo BSON coincide con el tipo del valor de la consulta. MongoDB admite comparaciones cruzadas BSON limitadas mediante el corchete de tipos.
Ejemplos
Los siguientes ejemplos utilizan la colección inventory. Crear la colección:
db.inventory.insertMany( [ { item: "nuts", quantity: 30, carrier: { name: "Shipit", fee: 3 } }, { item: "bolts", quantity: 50, carrier: { name: "Shipit", fee: 4 } }, { item: "washers", quantity: 10, carrier: { name: "Shipit", fee: 1 } } ] )
Empareje los campos del documento
Considera el siguiente ejemplo:
db.inventory.find( { quantity: { $lte: 20 } } )
Esta query seleccionará todos los documentos de la colección inventory donde el valor del campo quantity sea menor o igual a 20.
Ejemplo de salida:
{ _id: ObjectId("61ba453ffe687fce2f04241c"), item: 'washers', quantity: 10, carrier: { name: 'Shipit', fee: 1 } }
Realice una actualización basada en los campos del documento incrustado
El siguiente ejemplo establece el campo price en función de una comparación $lte con un campo en un documento incrustado.
db.inventory.updateMany( { "carrier.fee": { $lte: 5 } }, { $set: { price: 9.99 } } )
Ejemplo de salida:
{ _id: ObjectId("61ba453ffe687fce2f04241a"), item: 'nuts', quantity: 30, carrier: { name: 'Shipit', fee: 3 }, price: 9.99 }, { _id: ObjectId("61ba453ffe687fce2f04241b"), item: 'bolts', quantity: 50, carrier: { name: 'Shipit', fee: 4 }, price: 9.99 }, { _id: ObjectId("61ba453ffe687fce2f04241c"), item: 'washers', quantity: 10, carrier: { name: 'Shipit', fee: 1 }, price: 9.99 }
Esta operación updateMany() busca un documento incrustado, carrier, con un subcampo llamado fee. Establece { price: 9.99 } en cada documento donde fee tenga un valor menor o igual a 5.
Para establecer el valor del campo price únicamente en el primer documento donde carrier.fee sea menor o igual a 5, se debe utilizar updateOne().