美文网首页
献给第一次在Linux上操作MongoDB的朋友

献给第一次在Linux上操作MongoDB的朋友

作者: 程就人生 | 来源:发表于2023-02-10 16:02 被阅读0次

    大家好,我是娟姐。

    最近有朋友问我,在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

    以上便是今天的整理,希望对你有帮助。

    相关文章

      网友评论

          本文标题:献给第一次在Linux上操作MongoDB的朋友

          本文链接:https://www.haomeiwen.com/subject/ukmkkdtx.html