有两种架构:用户架构和书籍架构。有n个用户,可以有任意数量的书籍。我现在必须获取数据库中存在的所有书籍。我无法解决任何解决方案。我尝试过使用populate但它不起作用。什么是这类问题的最佳方法。我不想要用户架构的任何数据,只需要每个用户的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;
}
我可以在这里得到任何帮助吗?我被困了几个小时!
答案 0 :(得分:0)
我尝试使用
api.get('/universe/book', wagner.invoke(function(User, Book) {// done
return function(req, res) {
User.find({},{profile:0, _id:0}, function(err, data){
res.json({data:data});
})
};
}));
现在有效。