大佬教程收集整理的这篇文章主要介绍了node.js – Mongoose Query:比较同一文档中的两个值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,如何查询字符集以查找currentHitPoints值小于maximumHitPoints值的所有字符?或者所有那些目前的承诺金额低于承诺目标的项目?
我试过这样的事情:
@H_202_11@mongoose.model('Character') .find({ player: _currentPlayer }) .where('status.currentHitpoints').lt('status.maximumHitpoints') .exec(callBACk)
但我得到错误,因为lt参数必须是一个数字.如果我使用$.status.maximumHitpoints(我希望Mongoose能够像执行收集操作时那样解决它),情况也是如此.
@H_202_11@mongoose.model('Character') .find({ player: _currentPlayer }) .$where('this.status.currentHitpoints < this.status.maximumHitpoints') .exec(callBACk)
编辑:要扩展下面的Derick’s评论,一个性能更敏感的解决方案是在Mongoose模式中包含一个包含比较结果的布尔属性,并在每次保存文档时更新它.这可以通过使用Mongoose scheR_596_11845@a插件轻松实现,所以你会有类似的东西:
var CharacterscheR_596_11845@a = new mongoose.scheR_596_11845@a({ // ... status: { hitpoints: number,maxHitpoints: number,isInFullHealth: {type: Boolean,default: falsE} } }) .plugin(function(scheR_596_11845@a,options) { scheR_596_11845@a.pre('save',function(next) { this.status.isInFullHealth = (this.status.hitPoints >= this.status.maxHitpoints); next(); }) })
以上是大佬教程为你收集整理的node.js – Mongoose Query:比较同一文档中的两个值全部内容,希望文章能够帮你解决node.js – Mongoose Query:比较同一文档中的两个值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。