Definición
$ltSintaxis:
{ field: { $lt: value } }$ltselecciona los documentos donde el valor defieldes menor que (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
Seleccione todos los documentos en la colección inventory donde quantity sea menor que 20:
db.inventory.find( { quantity: { $lt: 20 } } )
Ejemplo de salida:
{ _id: ObjectId("61ba634dfe687fce2f04241f"), 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 $lt con un campo en un documento incrustado.
db.inventory.updateMany( { "carrier.fee": { $lt: 20 } }, { $set: { price: 9.99 } } )
Ejemplo de salida:
{ _id: ObjectId("61ba634dfe687fce2f04241d"), item: 'nuts', quantity: 30, carrier: { name: 'Shipit', fee: 3 }, price: 9.99 }, { _id: ObjectId("61ba634dfe687fce2f04241e"), item: 'bolts', quantity: 50, carrier: { name: 'Shipit', fee: 4 }, price: 9.99 }, { _id: ObjectId("61ba634dfe687fce2f04241f"), item: 'washers', quantity: 10, carrier: { name: 'Shipit', fee: 1 }, price: 9.99 }
Esta updateMany() operación busca un documento incrustado, carrier, con un subcampo llamado fee. Establece { price: 9.99 } en cada documento donde fee tenga un valor inferior a 20.
Para establecer el valor del campo price únicamente en el primer documento donde carrier.fee sea menor que 20, utilizar updateOne().