Article.findById(aid, function (err, adoc){ adoc.user = User.findOne(adoc._id,function (err, udoc){ return udoc; }); return adoc; });
返回的是JQ对象和json的混合 怎么解决
回复 (4)
D
引用 blacktea楼主请看这里:http://mongoosejs.com/docs/populate.html
3级怎么办 Corpus => Article => User
B
B
引用 blacktea楼主请看这里:http://mongoosejs.com/docs/populate.html
@dphdjy 这个没留意到。。你可以在官网找一下~
K
Mongoose 本身可以 promise,那就可以这样写了:
var result;
Corpus.findById(corpusid)
.populate('article')
.exec()
.then(function(corpus) {
result = corpus;
return corpus.article.populate('user').exec();
})
.then(function(article) {
result.article = article; // user已经 populate 出来了 :p
});
其实这个不是一个好的解决方法,你可以看 mongoose 的3.6的release notes 它已经支持 populate('parent.child')这样的写法了。
参与回复
登录后即可参与回复。登录