Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Mongoose复杂(异步)虚拟大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个猫鼬模式如下:

var playerscheR_250_11845@a = new mongoose.scheR_250_11845@a({
    name: String,team_id: mongoose.scheR_250_11845@a.Types.ObjectId
});
Players = mongoose.model('Players',playerscheR_250_11845@a);

var teamscheR_250_11845@a = new mongoose.scheR_250_11845@a({
    name: String
});
Teams = mongoose.model('Teams',teamscheR_250_11845@a);

当我查询团队时,我也会得到虚拟生成的小队:

Teams.find({},function(err,teams) {
  JSON.Stringify(teams); /* => [{
      name: 'team-1',squad: [{ name: 'player-1' },...]
    },...] */
});

但我无法使用虚拟机获得此功能,因为我需要异步调用

teamscheR_250_11845@a.virtual('squad').get(function() {
  Players.find({ team_id: this._id },players) {
    return players;
  });
}); // => undefined

实现这一结果的最佳方法是什么?

谢谢!

解决方法

这可能最好作为您添加到teamscheR_250_11845@a的 instance method处理,以便调用者可以提供回调以接收异步结果:

teamscheR_250_11845@a.methods.getSquad = function(callBACk) {
  Players.find({ team_id: this._id },callBACk);
});

大佬总结

以上是大佬教程为你收集整理的node.js – Mongoose复杂(异步)虚拟全部内容,希望文章能够帮你解决node.js – Mongoose复杂(异步)虚拟所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。