【发布时间】:2017-04-12 14:16:49
【问题描述】:
有两种模式:用户模式和书籍模式。有 n 个用户,可以拥有任意数量的书籍。我现在必须获取数据库中存在的所有书籍。我无法为此找出任何解决方案。我尝试使用填充,但它不起作用。解决此类问题的最佳方法是什么。我不想要用户架构的任何数据,只想要每个用户的 bookList。
这里是 userSchema.js
var mongoose = require('mongoose');
var Book = require('./book');
var userSchema={
profile:{
// Some more fields.
},
bookList:[Book.bookSchema] //Interested here
};
module.exports = new mongoose.Schema(userSchema);
module.exports.userSchema = userSchema;
这里是 bookSchema
var mongoose = require('mongoose');
var bookSchema = {
__id : mongoose.Schema.Types.ObjectId,
info:{
//Some fields.
}
}
module.exports = new mongoose.Schema(bookSchema);
module.exports.bookSchema = bookSchema;
模型。
var mongoose = require('mongoose');
var _ = require('underscore');
var autoIncrement = require('mongoose-auto-increment');
module.exports = function(wagner){
//Some codes
var Book = mongoose.model('Book', require('./book'), 'books');
var User = mongoose.model('User', require('./user'), 'users');
var models = {
Book:Book,
User:User
}
_.each(models, function(value, key) {
wagner.factory(key, function() {
return value;
});
});
return models;
}
我可以在这里得到任何帮助吗?我已经被困了好几个小时了!
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema mongoose-populate