Eval脚本不适用于mongo db 3.0.2

时间:2015-05-28 12:53:14

标签: node.js mongodb eval mongodb-query

我已将我的MongoDB从2.4.10升级到3.0.2。我的数据库ZBOX-BATCH-SAMEDI;BMD15 ZBOX-BATCH-SAMEDI;CMC10 ZBOX-BATCH-SAMEDI;DEA11 ZBOX-BATCH-SAMEDI;DEA11A ZBOX-BATCH-SAMEDI_D1;HEB02 ZBOX-BATCH-SAMEDI_D3;HEB02 ZBOX-BATCH-SAMEDI_D3;HEB03 ZBOX-BATCH-SAMEDI_D1;HEB05 ZBOX-BATCH-SAMEDI_D3_M1;ODP47 ZBOX-BATCH-SAMEDI_D1_M1;TER23 的用户为"abc"。我可以在使用"xt"进行身份验证后执行crud操作,但我无法运行db.authenticate()命令。它将错误抛出为

  

未经授权未授权abc执行命令{$ eval:“deleteDetails()”}

当我检查数据库用户的管理数据库eval集合是

system.users

任何人都可以告诉,可能是什么问题,我也看到eval已被弃用,如果是这样的话,可以选择在mongo shell和node js中使用它。

1 个答案:

答案 0 :(得分:1)

从2.6开始,他们使eval命令需要超级用户访问数据库,因此dbOwner没有足够的访问权限。我自己研究这个,我相信命令/ runCommand可能会替换eval,因为它现在已被弃用。