1

だから私は簡単なクエリを持っています:

var query = postModel.find({ //etc });
query.exec(function(err, posts) {

});

次に、Model メソッドがあります。

PostSchema.method('deepPopulate', function(cb) { //stuff });

私の他の発見では、次のようなことができます:

post.deepPopulate(function(err, post) {});

これは a に対してはうまくfindOne()機能しますが、 a の結果の投稿のコレクションに対して同じモデル関数を実行するにはどうすればよいfind()ですか?

4

2 に答える 2

2

非同期ライブラリのmapメソッドを使用します。それはおそらく約束でも可能です。

async.map(posts, function (post, done) {
  post.deepPopulate(done);
}, function (err, posts) {
  // ... do yaw thang
});
于 2013-09-25T14:16:45.793 に答える
0

クエリにプロパティを使用していないと仮定すると、lean各結果はメソッドを持つモデル オブジェクトである必要がありますdeepPopulate()

var query = postModel.find({ //etc });
query.exec(function(err, posts) {
  for each ( var post in posts ) {
    post.deepPopulate(); //Or however you use this guy.
  }
});
于 2013-09-24T22:22:53.450 に答える