Я нашел много примеров отношений «один ко многим», но я не нашел очень четкого примера для решения вложенных запросов для нормализованных данных в «mongodb», или это только я, , Пожалуйста помоги. У меня есть следующие модели под названием «Пользователь», «Учетная запись» «Библиотека».nodejs вложенные запросы в обратном вызове
User: {
name: String,
password: String //Hash of course
}
Library: {
name: String,
address: String
}
Account: {
user_id: String,
library_id: String
}
Это происходит потому, что пользователь имеет множество учетных записей с различными библиотеками (я могу определенно положить их встроенные в документ «User» или библиотеки информации, содержащейся в документе «Счет»). Я пытаюсь скомпоновать (см. Ниже фрагмент), чтобы собрать все документы как один массив объектов JSON, как показано ниже, но неясно, как и где я возвращаю ответ, как в «res.json (allaccountsdata) «Может быть, есть лучший способ?
function isLoggedIn() {
// this validates the user and puts user object in the req
}
app.get('/account', isLoggedIn, function(req, res) {
var allaccountsdata = [];
Account.find({user_id: req.user._id}, function(err, accounts) {
account.forEach(function(account) {
Library.find({_id: account.library_id}, function(err, library) {
account.library = library;
allaccountsdata.push(account); // Where do I return this???
});
});
});
});
Я знаю, что это не очень эффективно, а не реальный MongoDB путь, но я просто пытаюсь понять, как это сделать, если мои данные все нормализуется в MongoDB.
-Atarangp
Я предполагаю, что вы используете это в сочетании с выражением? –
да я использую экспресс. – Atarang