Я Наполнение ссылается коллекции в MongoDB из JSON файлов с помощью Node.js и MongoosePopulating ссылки коллекции в MongoDB из JSON файлов с помощью Node.js и Mongoose
var UserSchema = new Schema({
username: String,
sites : [{type: mongoose.Schema.Types.ObjectId, ref: 'Site' }],
});
var SiteSchema = new Schema({
user : { type: String, ref: 'User' },
siteTitle: String,
pages : [{type: mongoose.Schema.Types.ObjectId, ref: prefix + 'Page' }],
});
var PageSchema = new Schema({
site: { type: String, ref: 'Site' },
title: String,
});
exports.create = function(req, res, next) {
var user = new User(req.body);
user.save(function(err) { // create user
if (err) {
return next(err);
} else {
var site = new Site({user: user.username, siteTitle: user.username});
site.save(function(err) { // create website
if (err) {
return next(err);
} else {
user.sites.push(site); // push site'id in sites field in user
user.save(); // save user after site'id has been push
for (var i=0; i<basePages.length; i++) { // create pages from base.json file
var page = new Page(basePages[i]);
page.save(function(err) { // create page
if (err) {
return next(err);
} else {
site.pages.push(page);
site.save();
}
});
res.json(user);
}
}
});
};
});
};
Страницы хорошо созданы из файла JSON и страниц поле в документе сайта заполнено, но у меня есть только один идентификатор. Я имею в виду мой файл JSON имеет 2 страницы так что я получаю
страницы: «_id123456», «_id123456» от
site.pages.push(page);
site.save();
Ваш вопрос немного неясен, чего вы пытаетесь достичь и что не удается? – chridam
У меня есть Схемы, чтобы сделать вопрос более ясным. Я пытаюсь заполнить идентификаторы страниц, созданные из файла Json, на «страницы» внутри SiteSchema. Кажется, что петли с site.pages.push (страница); site.save(); возвращает одинаковые идентификаторы страниц для каждого i – ZeGregg