0

スキーマには、ユーザースキーマとブックスキーマという2つのスキーマがあります。 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のマングースの=は、( 'マングース')を必要とするです。

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

を使用してみました、それが動作するようになりました。

関連する問題