db.History.find({'_file.project': 'someproject')
.populate('_file', 'name reference project')
.sort(sortField || '-created')
.limit(max || 64)
.exec(this);
Tutaj próbuję znaleźć wszystkie dokumenty, które pasują do zaludnionego pola z odwołania _file. Wydaje się nie działać. Czy coś takiego jest w ogóle możliwe?Zapytanie mangusty na zaludnionym polu
Mogłem powielić pole projektu do tego obiektu, jako obejście tego problemu, ale wolałbym nie.
Dzięki. Tak więc, aby mieć pewność, że w celu wysłania zapytania do kolekcji Historia na podstawie projektu, będę musiał dodać pole projektu, powielając je z modelu pliku? Pobieranie wszystkich dokumentów, a następnie filtrowanie nie jest opcją, ponieważ kolekcja History jest prawdopodobnie bardzo duża. –
@ 0x80 Prawo, lub pobierz wszystkie dokumenty "Plik" z dopasowaniem "projektu", a następnie użyj zapytania '$ in' w stosunku do' Historii' używając wartości '_id' z pierwszego zapytania. – JohnnyHK
Rozumiem. Dobrze wiedzieć, że są dwie opcje. Dzięki! –