2 java dance JAVA_dance 于 2015.06.23 11:34 提问

字段值传入函数参数问题:

数据如下:
{ "_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函数的问题?

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.23 12:03
 <!DOCTYPE html>
<html>
<body>

<script>
var json = [{ "_id" : 1, "item" : "abc1", qty: 300 },
{ "_id" : 2, "item" : "abc2", qty: 200 },
{ "_id" : 3, "item" : "xyz1", qty: 250 }];
for(var i=0;i<json.length;i++){
   document.write(json[i]['qty']);
   document.write('</br>');
}
</script>

</body>
</html>
Csdn user default icon
上传中...
上传图片
插入图片