Jak*_*ake 1 javascript arrays shell mongodb
所以我试图在mongodb shell中使用javascript数组扩展(Array.prototype函数),它们似乎没有被定义.我认为这对我来说没问题,但我非常希望在实际的quires(即group)和map-reduce中使用它们.我使用的是mognodb版本2.4.10.它在这里说2.4 plus应该有ES5阵列扩展.他们只是没有壳?
具体来说,填充方法不起作用
test = [1, 2, 3, 4]
test.fill(0)
Run Code Online (Sandbox Code Playgroud)
没有说TypeError:对象1,2,3没有方法'填充'
Array.fill()是ES6规范的一个提议部分(截至2014年8月仍在实验中),因此在MongoDB 2.4或2.6 mongoshell或服务器端JavaScript中绝对不支持开箱即用.
2.4 plus应该有ES5阵列扩展
有九个新的Array方法在ES5: ,indexOf,
lastIndexOf,every,some,forEach,map,filter,reduce和reduceRight.
您可以在ES5规范中找到有关可用阵列方法的更多信息.
如果您真的想要使用此功能,则可能是Mozilla Developer Network文档中的参考实现Array.fill().您可以嵌入在你的代码的map-reduce函数或存储服务器端JavaScript函数在system.js适当的.
注意:通常,出于性能原因,不建议在MongoDB中使用服务器端JavaScript.服务器端函数会增加所有服务器端JavaScript上下文的开销,因此如果您只需要对特定或不经常使用的Map-Reduce作业,则可能更好地嵌入代码.
mongoshell也可以mongo使用以下几种方法之一使用自定义JavaScript函数扩展shell:
mongoshell会话中.load()加载和评估的JavaScript文件的内容.~/.mongorc.js以在启动mongoshell 时加载此代码.db.loadServerScripts()加载保存在服务器端在所有的JavaScript函数system.js集合当前数据库.