我已将我的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中使用它。
答案 0 :(得分:1)
从2.6开始,他们使eval命令需要超级用户访问数据库,因此dbOwner没有足够的访问权限。我自己研究这个,我相信命令/ runCommand可能会替换eval,因为它现在已被弃用。