Jeśli mam te dwa zbiory:Czy istnieje sposób na indeksowanie dokumentu w mongoDB wypełniając jego referencje?
Book: {
title: String,
description: String
author: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
}
User: {
_id: (generated by mongo)
username: String
}
I chcę indeksu książka dla FTS. Czy mogę zrobić to w taki sposób, że będzie można je wyszukać za pomocą nazwy użytkownika, mimo że nazwy użytkowników nie są jawnie przechowywane w zbiorze książek?
Innymi słowy, czy jest możliwe (lub wskazane) zindeksowanie zaludnionej kolekcji?
Dzięki
odnoszą się do nich: http://stackoverflow.com/questions/13026486/how-to-populate-a-sub-document-in-mongoose-after-creating-it http: // mongoosejs. com/docs/api.html # model_Model.populate –
Więc dodając index: true, odwołanie zostanie zaindeksowane w kolekcji? –
Nie. Nie jest możliwe wyszukiwanie (FTS lub inne) danych zawartych w "username" (lub innym polu) z innej kolekcji. Jest to "sprzężenie", które jest czymś, czego MongoDB nie robi (wyłączając agregację '$ lookup'), a" zapełnianie "nie jest tak naprawdę sprzężeniem, ale po prostu wygodnym otokiem wokół uruchamiania osobnych zapytań wyszukiwania. Możesz tylko poprosić bazę danych o wyszukiwanie danych z jednej kolekcji tylko na raz. –