2016-11-28 190 views
0

有兩種模式:用戶模式和書籍模式。有n個用戶,可以有任意數量的書籍。我現在必須獲取數據庫中存在的所有書籍。我無法爲此解決任何解決方案。我曾嘗試使用填充,但它不工作。什麼可以是這種問題的最佳方法。我不想要用戶架構的任何數據,只有每個用戶的bookList。如何僅從mongodb模式中獲取嵌入文檔中的所有數據?

這裏是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 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

我嘗試使用

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}); 
      }) 
     }; 
    })); 

和現在的工作。

相關問題