Sto cercando di imparare MongoDB ed è stato fantastico finora. Tuttavia mi sono imbattuto in una situazione e non sono troppo sicuro di come risolverlo. Spero che qualcuno possa darmi una mano e grazie in anticipo.
Volevo ottenere record che il valore dell'intero array sia all'interno della query. Ad esempio:
registrare 1:
{"name" : "Mango Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"}]}
scheda 2:
{"name" : "Mango Banana Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "banana"}]}
registrazione 3:
{"name" : "Milk Shake",
"ingredients" : [{"type" : "milk", "name" : "soy milk"}]}
quindi avrei una query qualcosa come
{"ingredients" : {$all : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "strawberry"}]}}
perché ho mango, latte di soia e fragola. Quindi volevo sapere quali frullati posso fare. Apparentemente questo non restituisce nulla perché la query non può avere roba extra. Se uso $in
, tutto tornerà, ma non posso fare mango banana shake perché non ho una banana ..
Quindi quello di cui ho solo bisogno è il primo e l'ultimo. Qualche idea? Apprezzalo :)
Quindi, si desidera creare una query da quegli ingredienti che si hanno a disposizione, restituendo così un set di risultati che include solo le frullate che si potrebbero fare? – chb
sì esattamente .. grazie chb –
avete qualche esigenza come dovrebbe essere una singola query? posso semplicemente restituire il nome/id? –