2016-03-28 12 views
0

Ich habe als unterWie schreibe ich die folgende Mongo-Abfrage?

db.products.insert({ "_id" : { "oid" : "507d95d5719dbef170f15bfe" }, "name" : "Phone Service Basic Plan", "type" : "service", "monthly_price" : 40, "limits" : { "voice" : { "units" : "minutes", "n" : 400, "over_rate" : 0.05 }, "data" : { "units" : "gigabytes", "n" : 20, "over_rate" : 1 }, "sms" : { "units" : "texts sent", "n" : 100, "over_rate" : 0.001 } }, "term_years" : 2 }) 

db.products.insert({ "_id" : { "oid" : "507d95d5719dbef170f15bff" }, "name" : "Phone Service Core Plan", "type" : "service", "monthly_price" : 60, "limits" : { "voice" : { "units" : "minutes", "n" : 1000, "over_rate" : 0.05 }, "data" : { "n" : "unlimited", "over_rate" : 0 }, "sms" : { "n" : "unlimited", "over_rate" : 0 } }, "term_years" : 1 }) 

db.products.insert({ "_id" : { "oid" : "507d95d5719dbef170f15c00" }, "name" : "Phone Service Family Plan", "type" : "service", "monthly_price" : 90, "limits" : { "voice" : { "units" : "minutes", "n" : 1200, "over_rate" : 0.05 }, "data" : { "n" : "unlimited", "over_rate" : 0 }, "sms" : { "n" : "unlimited", "over_rate" : 0 } }, "sales_tax" : true, "term_years" : 2 }) 

db.products.insert({ "_id" : { "oid" : "507d95d5719dbef170f15c01" }, "name" : "Cable TV Basic Service Package", "type" : "tv", "monthly_price" : 50, "term_years" : 2, "cancel_penalty" : 25, "sales_tax" : true, "additional_tarriffs" : [ { "kind" : "federal tarriff", "amount" : { "percent_of_service" : 0.06 } }, { "kind" : "misc tarriff", "amount" : 2.25 } ] }) 

nun einige Rekord in meinem MogoDB bevölkert, wenn ich finden müssen, wie viele Produkte Typen TV I

db.products.find({ type : "tv" }).count() 

auszuführen, die 1 (richtig) zurückgibt.

Ähnlich, wenn ich finden muss ** Wie viele Produkte haben eine Sprachgrenze ** was wird die Abfrage sein?

Ich habe versucht, mit db.products.find({ limits : "voice" }).count()

aber es gibt 0 zurück, während es 3

sollte

Bitte helfen

Antwort

1

Sie müssen exists-Klausel verwenden

db.products.find({ "limits.voice" : { $exists : true, $ne : null } }) 
+0

dank gut funktioniert –

+0

Froh, dass es geholfen . Bitte akzeptiere – Rahul

Verwandte Themen