Я новичок в MongoDB/Mongoose, и я пытаюсь сопоставить пользователя с семейством сайтов. Идея состоит в том, что пользователь назначается сайту. Я хочу получить это имя пользователя на основе идентификатора, хранящегося в коллекции сайтов, и затем отобразить его. Имя пользователя может измениться, поэтому я не могу использовать поддоны.Узел, Mongoose js - Population никогда не возвращает результат
При попытке связать имя пользователя с моим запросом, используя populate, запрос никогда не возвращает результат. Нет ошибок, ничего. Можно было бы назвать это зависанием, но это асинхронно, поэтому, что бы ни делал в фоновом режиме, я не знаю.
Моя система аутентификации - паспорт.js.
Вот мои модели:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var passportLocalMongoose = require('passport-local-mongoose');
var Account = new Schema({
username: String,
password: String,
isadmin: Boolean,
islocked: Boolean
});
Account.plugin(passportLocalMongoose);
module.exports = mongoose.model('Account', Account);
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var siteSchema = new Schema({
title: String,
locked: Boolean,
userid: {type: mongoose.Schema.Types.ObjectId, ref: 'Account'}
});
var Site = mongoose.model('Site', siteSchema);
module.exports = Site;
А вот мой запрос:
Site.find({}.populate('userid'), function (err, postIn) {
if (err) {
throw err
} else {
res.send(postIn);
}
});
Любые идеи - застрял на это некоторое время.
Без разницы, такой же результат. Обычно я не использую exec, и всегда получаю результат. – Kyle
только что отредактировал отсутствующий) после поиска до .populate –
все сработало .. –