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

问题描述

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

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

解决方案

 <!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>
时间: 2024-12-21 10:57:57

aggregate-字段值传入函数参数问题:的相关文章

简介Linux中的可重入函数和不可重入函数

可重入函数 可重入函数(即可以被中断的函数)可以被一个以上的任务调用,而不担心数据破坏.可重入函数在任何时候都可以被中断,而一段时间之后又可以恢复运行,而相应的数据不会破坏或者丢失. 可重入函数使用的变量有两种情况: 1.使用局部变量,变量保存在CPU寄存器中或者堆栈中: 2.使用全局变量,但是这时候要注意保护全局变量(防止任务中断后被其它任务改变变量). void strcpy(*dest,*src) { while(* dest++ = *src ++){;} *dest = NUL; }

2信号处理之:信号产生原因,进程处理信号行为,信号集处理函数,PCB的信号集,sigprocmask()和sigpending(),信号捕捉设定,sigaction,C标准库信号处理函数,可重入函数,

 1信号产生原因 2.进程处理信号行为 manpage里信号3中处理方式: SIG_IGN SIG_DFL                                            默认Term动作 a signal handling function 进程处理信号 A默认处理动作 term   中断 core    core(调试的时候产生) gcc –g file.c     ulimit –c 1024     gdb a.out core ign      忽略 stop

linux驱动-各位大神,谁能跟我讲讲file_Operation结构里面各个函数的具体用法,特别是函数参数的用法,感激不尽

问题描述 各位大神,谁能跟我讲讲file_Operation结构里面各个函数的具体用法,特别是函数参数的用法,感激不尽 各位大神,谁能跟我讲讲file_Operation结构里面各个函数的具体用法,特别是函数参数的用法,感激不尽 解决方案 file_operation是Linux内核驱动中一个非常重要的结构体,它建立了用户空间与内核空间之间的联系.file_operation结构体定义在linux内核的includelinuxfs.h文件中,定义是这样的: ```struct file_oper

初始化-在给结构体成员赋值的时候,函数参数只能使用指针么?

问题描述 在给结构体成员赋值的时候,函数参数只能使用指针么? 我尝试不用指针,用结构类型变量作为函数参数,就是修改的图中的fill函数的参数,结果报错说 主函数定义的结构体变量(即c)未初始化 解决方案 #include #include using namespace std;const int seasons = 4;const char* sname[seasons] = {"Spring","Summer","Fall","Wi

如何通过一个buttn将文本框中的值传入另一个页面

问题描述 如何通过一个buttn将文本框中的值传入另一个页面 解决方案 解决方案二:单击事件{Response.Redirect("yyy.aspx?aa="+textbox.text);}解决方案三:protectedvoidbuttn_Click(objectsender,EventArgse){//把aa传到yyy页面Response.Redirect("yyy.aspx?aa="+textbox.Text);} 解决方案四:页面之间的传递啊,用session

多字段模糊搜索的函数_ASP基础

前段时间写了一个多字段模糊搜索的函数(类似baidui).函数代码如下 '================================================== '函数名:keyword_sousuo '作 用:生成sql查询条件 '参 数:table_field ------ 表的字段名(之间用逗号分开) ' keyword ------ 搜索关键词(之间用空格分开) '返 回:sql查询条件 '==========================================

Python函数参数类型*、**的区别_python

刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来说理解起来比较轻松.只是函数部分参数的"*"与"**",闭包等问题,着实令人迷糊了一把,弄清概念后写下此文记录下来,也希望本文能够帮助其他初学者. 所以本文是一篇学习笔记,着重于使用的细节和理解上,首先分别介绍了函数各种参数类型在调用和声明时的区别,及其在混用时需要注意

剖析C++编程当中指针作为函数参数的用法_C 语言

在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参.这样就可以在调用一个函数的过程中根据给定的不同实参调用不同的函数. 例如,利用这种方法可以编写一个求定积分的通用函数,用它分别求5个函数的定积分: 可以看出,每次需要求定积分的函数是不一样的.可以编写一个求定积分的通用函数integral,它有3个形参: 下限a.上限b,以及指向函数的指针变量fun.函数原型可写为: double integral (double a, double b, double (*fu

详解C++编程中用数组名作函数参数的方法_C 语言

C++数组的概念 概括地说:数组是有序数据的集合.要寻找一个数组中的某一个元素必须给出两个要素,即数组名和下标.数组名和下标惟一地标识一个数组中的一个元素. 数组是有类型属性的.同一数组中的每一个元素都必须属于同一数据类型.一个数组在内存中占一片连续的存储单元.如果有一个整型数组a,假设数组的起始地址为2000,则该数组在内存中的存储情况如图所示. 引入数组就不需要在程序中定义大量的变量,大大减少程序中变量的数量,使程序精炼,而且数组含义清楚,使用方便,明确地反映了数据间的联系.许多好的算法都与