借助现有容器查询
客户端安装可参考 Red Hat/CentOS。
# K8S版方式进入 kubectl exec -it feemongo-0 -- bash -c "mongo --host feemongo --port 27017 -u <用户名> -p <密码>" # Docker版进入方式(1e7 是容器ID的前三位) docker exec -it 1e7 bash -c "mongo --host feemongo --port 27017 -u <用户名> -p <密码>" # 接着设置好数据库后直接可以查表了 use feepolicy db.USER.find().pretty()
常用客户端命令
kubectl exec -it feemongo-0 -- bash mongo --host feemongo --port 27017 -u <用户名> -p <密码> # 若不需要认证,则直接使用下面的命令即可 #mongo # 也可以进入 mongo 后认证 #use admin #db.auth("<用户名>","<密码>") # 显示所有数据库 show dbs # 显示当前数据库 db # 更改当前数据库 use feepolicy # 获取当前数据库下的所有表 show collections # 查询用户表中所有数据 db.USER.find() # 查询用户表中所有数据,以友好格式呈现 db.USER.find().pretty() # 按 ID 查询用户表中记录 db.USER.find({"_id":ObjectId("<ID>")}).pretty() # 查询 username字段值为 admin 的记录 db.USER.find({username:{$eq:"admin"}}).pretty() # 查询地址对象 name 字段值为 空字符串、null 的记录 db.IP_OBJECT.find({name:{$eq:""}}) db.IP_OBJECT.find({name:{$eq:null}}) # 通过传入多个名字,查询多个IP对象 db.IP_OBJECT.find({name:{$in:["3.3.3.0-2_B1Z422","192.168.1.199_AO9ZT22"]}}) # 查询完仅返回每条记录的 name 字段 db.IP_OBJECT.find({name:{$in:["3.3.3.0-2_B1Z422","192.168.1.199_AO9ZT22"]}}, {"_id":0, "name":1}) # 删除用户表中所有数据,不删除表,若要删除表情用 drop 方法 db.USER.remove({}) # 删组织架构菜单 db.MENU.remove({code:'xyz'}) # 遍历表数据,并用每条数据的 name 值在其他表中创建新记录 db.USER_GROUP_BACKUP.find().forEach( function(doc) { print( "user: " + doc.name ); db.USER_GROUP.insertOne(doc); } ); # 更新 xyz 这条数据 db.MENU.update({'code':'xyz'},{$set:{'pageMenuType':'ROUTE','resource':'setting.collection.profile','action':''}})
安装 mongosh
下载 mongosh-1.6.0-linux-x64.tgz,然后按一下命令安装:
tar -xzvf mongosh-1.6.0-linux-x64 cd mongosh-1.6.0-linux-x64/bin cp mongosh /usr/local/bin/ cp mongosh_crypt_v1.so /usr/local/lib/ # 提示:安装好后解压的目录可以直接删掉了
经测,使用 uri连接字符串连接副本集,执行 –eval 脚本时,必须用这个 mongosh 才会返回结果,用 mongo 命令不行:
mongosh --quiet --eval 'use policy;' --eval 'DBQuery.shellBatchSize=99999999;db.DEVICE_PROFILE_EXTENSION.find({enableLogMonitor:true}, {'_id':0, 'deviceIP':1})' -p admin.0511# mongodb://sec@192.168.3.222:27011,192.168.3.222:27012,192.168.3.222:27013/admin?serverSelectionTimeoutMS=600000
选项参考:https://www.mongodb.com/docs/mongodb-shell/reference/options/