2016-06-16 19 views
0

Dies ist meine Mongo Sammlung Struktur

{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 50, "price" : 5000, "available_date" : ISODate("2016-05-11T00:00:00Z") } 
{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 42, "price" : 5000, "available_date" : ISODate("2016-05-12T00:00:00Z") } 
{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 31, "price" : 5000, "available_date" : ISODate("2016-05-13T00:00:00Z") } 
{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 15, "price" : 5000, "available_date" : ISODate("2016-05-14T00:00:00Z") } 
{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 12, "price" : 5000, "available_date" : ISODate("2016-05-15T00:00:00Z") } 
{ "_id" : ObjectId("572d00ca90067001393bfa0f"), "available" : 3, "price" : 5000, "available_date" : ISODate("2016-05-16T00:00:00Z") } 

ich so suchen möchten, dass 3 Tage, dh 2016-05-13 und 2016-05-14 und 2016-05-15 und verfügbare Feld für jedes dieser Tag mehr als 5 .

Die '$and' Bedingung funktioniert nur auf einer von ihnen. Wie bekomme ich es für die 3 Termine und mehr als 5 zur Verfügung?

+2

Sind das Ihre ursprünglichen Daten oder ein '$ unwind'-Ergebnis? – styvane

Antwort

0

Abfrage kann wie folgt sein: -

var findQuery = {available_date : {$in : [date:1, date2, date3]}, available : {$gt : 5}}; 

var cursor = db.collnam.find(findquery); 

Hope this helfen!