mongoose findOne 怎么合并多个结果
Article.findById(aid, function (err, adoc){ adoc.user = User.findOne(adoc._id,function (err, udoc){ return udoc; }); return adoc; });
返回的是JQ对象和json的混合 怎么解决
4 回复
3级怎么办 Corpus => Article => User
@dphdjy 这个没留意到。。你可以在官网找一下~
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')
这样的写法了。