MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongodb :requête find() dans une collection

Vous pouvez utiliser l'agrégation. $unwind produira un document pour chaque voiture. Puis $match est utilisé à la place de find() dans votre exemple.

const transmission = 'Manual'
const car_color = 'Yellow'
const model_year = 2013
const min_price = 3500000
const max_price = 4000000

const query = { 
    'cars.transmission_type': transmission, 
    'cars.color': car_color, 
    'cars.year': model_year, 
    'cars.PriceInINR': { '$gte': min_price, '$lte': max_price }
}

db.companies.aggregate([
    { '$unwind': '$cars' },
    { '$match': query }
])