I’d like to query a document (using the mongoshell) containing an array of “hotels_booking”. Inside this array, there are several objects containing information about booking. I’d like to retrieve all documents having hotels_booking[n].client.firstName = “limace” ; n being the number of hotels_booking subdocuments.
The attached photo show the field.
I tried to use this query on the mongo shell :
db.inventory.find({ “hotels_booking.client”: { “firstName”: “limace” }}) ; but it does not work.
The way you wrote your query means you want the object hotels_booking.client to be equal to the object {firstName:limace}. The 2 objects are not equals because the hotels_booking.client also has the field lastName.
You have to use the dot notation up to the last field like: