大家好,我是娟姐。
最近有朋友问我,在Linux上操作MongoDB,为什么查不到自己创建的数据库?
在Linux上操作MongoDB,确实和操作其他数据库有点不一样。作为小白,少不了要走点弯路。
就拿Mysql来说,在连接Mysql时,就需要输入数据库的用户名和密码,连接成功后,就可以使用命令展示所有的数据库,以及使用哪个数据库。
但是MongoDB呢,并不是这样的玩法。连接MongoDB,是不需要输入数据库的用户名和密码的。连接成功后,也无法展示所有的数据库。需要先确定数据库,然后再授权,授权后方可操作该库下的表及数据。
# 连接MongoDB数据库
mongo
# 展示当前正在使用的数据库
db
# 查看所有的数据库,这个命令不灵了
show dbs
图片
# 使用某个数据库,dbName为数据库名
use dbName
# 对数据库的访问进行授权,授权成功会输出 1,
db.auth('用户名','密码');
授权成功
授权失败
# 展示数据库表
show tables;
# show collections;
# 查询一条记录,collectionName为表名
db.collectionName.find().limit(1);
图片
# 查询一条记录,按照某个字段排序,1 为升序, -1 降序,key为字段名
db.collectionName.find().limit(1).sort({KEY:1})
# pretty() 对查询结果格式化,以更友好的方式展示
db.collectionName.find().limit(1).sort({KEY:1}).pretty()
图片
# 创建索引,并设置超时时间 60s,不可重复创建
# operDate为创建索引的字段名称,超时时间必须对时间格式的字段设置
# ensureIndex 以弃用,建议使用 createIndex
# db.collectionName.ensureIndex({'operDate':1},{expireAfterSeconds:60})
db.collectionName.createIndex({"createdAt":1},{expireAfterSeconds:60})
图片
# 查看所有的索引
db.collectionName.getIndexes();
图片
#删除一个索引
db.collectionName.dropIndex({"operDate": 1 } )
#删除多个索引
db.collectionName.dropIndexes()
# 查询数据总条数
db.collectionName.find().count()
MongoDB官网文档参考:https://docs.mongoing.com/indexes
以上便是今天的整理,希望对你有帮助。
网友评论