在Mongoose Map函数中没有拾取的值closures
我正在尝试创build一个dynamic映射函数 – 即使用一个任意字段来聚合。 我以为我可以使用闭包,但它不工作 – 我得到一个错误,说明等等没有定义。
我的testing代码 –
o.map = (function(){ var blah = 'skill'; var mapIt = function() { for (var idx = 0; idx < this[blah].length; idx++) { var key = this.skill[idx]; var val = 1; emit(key, val); } } return mapIt })()
问候,肖恩
所以map函数实际上是通过函数toString
(以源代码forms)通过线传送到mongodb本身(不是节点)内执行的。 因此,这是行不通的。 这是scope
选项的用途。 任何需要作为上下文/参数/作用域提供给map / reduce作业的数据都需要在scope
对象中设置。
看起来像你必须手动设置范围 –
o.scope = {'blah':blah};
- mongoose文本search – 深嵌套索引?
- 存储由socket.io在MongoDB中创build的套接字
- Mongoose更新文档或插入新文档如果没有findID(Express REST API)
- 无法在Ubuntu 10.10上运行mongojs(node-mongodb-native wrapper)
- 在使用mongoose时,在节点和mongo之间加载连接是否正常?
- 修改mongoose响应数据
- 无法使用mongoose,Node.js将数据插入到mongoDB中的Document的字段中
- node.js&mongodb,当数据快速增长时,如何devise一个数据存档。
- Node.js中的MongoDb监听器