数据如下:
` { "_id" : 1, "item" : "abc1", qty: 300 }
{ "_id" : 2, "item" : "abc2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", qty: 250 }
`
函数如下:
abd(v){
return v;
}
现在需要用聚合管道计算qty等于200的集合:例如:
{$project:{value:{
$cond: {
if: { $eq: [ db.eval("abc('$qty')") , 200 ] }, then: 1, else: 0 }
}
}
}
怎么都无法计算出status的值等于0的条目,现在感觉是abc(’$qty’)传参数的问题,但是又不知道怎么搞,如果abc($qty)会报错,麻烦各位帮忙解决下,btw:我只是举了个例子,并不是用麻烦的函数计算简单地事情,我的abc函数在具体使用过程中会加很多判断,主要就是怎么拿到每个集合的字段值传入abc函数的问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。