一种方式是直接在shell中嵌入MongoDB命令,使用/usr/bin/mongo<、showdbs等),因为它们不是有效的JavaScript,但有替代方法,请参见下表Shell帮助等效的JavaScriptshowdbs、showdatabasesdb.adminCommand('listDatabases')usedb=Db。getSiblingDB('')showcollectionsdb.getCollectionNames()showusersdb.getUsers()showrolesdb.getRoles({showBuiltinRoles:true})showlogdb.adminCommand({'getLog':''})showlogsdb.adminCommand({'getLog':'*'})itcursor=db.collection.find()if(cursor.hasNext()){cursor.next();所以在写脚本的时候,如果UsetheShellhelp列在左边,记得换成右边列对应的JS//createsuperDBA'dba_root'andDBAofpxjz'dbz_pxjz'db=db.getSiblingDB('admin');isRootExist=(!!db.system.users.findOne({user:'dba_root'}));isPxjzExist=(!!db.system.users.findOne({user:'dba_pxjz'}));//创建超级DBA!isRootExist?db.createUser({user:'dba_root',pwd:'123',customData:{desc:'超级管理员'},roles:['root']}):'超级管理员已存在';//创建DBApxjzdb=db.getSiblingDB('pxjz');!isPxjzExist?db.createUser({user:'dba_pxjz',pwd:'123',customData:{desc:'pxjz数据库管理员'},roles:[{role:'readWrite',db:'pxjz'},{role:'dbAdmin',db:'pxjz'},{role:'userAdmin',db:'pxjz'}]}):'pxjz数据管理员已经存在';执行结果