1. 借助现有容器查询
客户端安装可参考 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()
2. 常用客户端命令
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':''}})