2013-10-28 14 views

Odpowiedz

31

Musisz użyć dot notation:

bios.find({"_id" : 1, "awards.year" : 1975 }); 

Jest to raczej bezcelowe zapytania, ponieważ masz również _id w zapytaniu, ale myślę, że to ze względu na fakt, że grasz na przykładzie . Mówisz też, że szukasz nagród od 1967 roku, ale kod mówi 1975.

Jeśli wyszukasz "awards" : { "year" : 1975 }, mongodb będzie szukał dokładnego dopasowania całego poddokumentu awards. W tym przypadku nie tego chcesz. Ponadto, ponieważ awards jest tablicą, zawsze będzie to fałsz. Jeśli chciałbyś wyszukać konkretny dokument z nagrodami na liście, to byłby to dobry pomysł.

+0

Rok był literówką. Bardzo dziękuję za szczegółowe wyjaśnienie! –

Powiązane problemy