【发布时间】:2022-12-03 10:06:42
【问题描述】:
我使用的是MongoDB 4.4.8,根据mongo reference,$function是4.4新增的,但是运行如下代码,服务器响应:
在我的配置文件中,没有设置security.javascriptEnabled,所以我认为它应该默认为true
命令失败,出现错误 139 (JSInterpreterFailure):“SyntaxError:意外标记:服务器 {} 上的关键字‘function’”。完整的响应是 {"ok": 0.0, "errmsg": "SyntaxError: unexpected token: keyword 'function'", "code": 139, "codeName": "JSInterpreterFailure"}
db.my_collection.aggregate( [ {$addFields:{ query: { $function:{ body: function(ss){ arr = ss.split('|'); result = {}; arr.forEach(element => { kv = element.split(':'); result[kv[0]] = kv[1]; }); return result['q']}, args: ['my_field'], lang:'js' } } }} ]);在我的电脑上可以执行成功,但是mongo好像无法解析关键字
function,这是怎么回事?
【问题讨论】:
标签: javascript mongodb function aggregation-framework