美文网首页
MongoDB学习之路(三)_使用说明①(Shell命令篇)

MongoDB学习之路(三)_使用说明①(Shell命令篇)

作者: iOS_PM_WEB_尛鹏 | 来源:发表于2019-06-12 10:55 被阅读0次

    【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!

    1.应用场景:

    操作使用MongoDB数据库

    2.实现目标:

    使用终端Shell命令操作MongoDB数据库

    3.代码说明:

    3.1 数据库服务(mongod 命令)
      1. 创建文件(保存数据) 在想要保存数据的位置,创建一个文件夹(data)
        mongod --dbpath /data(data文件夹路径) 回车
        最后一句出现
        waiting for connections on port 27017 则启动服务成功
      1. 连接数据库
        (!!第一步的shell窗口不要关,否则就连接不上了!!)
        mongo --host 服务器地址 --port 端口号
    3.2 数据库操作的命令行工具
    3.2.1 基本查看命令
      1. 查看所有的数据库列表
        show databases;
      1. 切换到指定的数据库
        use 数据库名称;
      1. 查看当前数据库中所有的集合(Mysql中的表)
        show collections;
    3.2.2 实现增删改查

    (!!在mongodb中进行数据操作的时候,不需要提前创建数据库和表结构!!)
    (前提知识:命令行中有一个全局的对象db,这个对象就表示当前正在使用的数据库)

      1. 创建一个新的数据库(无需创建-直接用就行)
        1. 直接 use 新的数据库名称
        1. 这个数据库会在第一条数据添加进去的时候创建出来
      1. 给集合中添加数据
        1. 如果集合不存在,则会自动创建
      • 2.如果集合存在,则会将数据添加到对应的集合中
        db.集合名称.insert(对象);
        ``db.集合名称.insertMany(对象) //一般为数组[{},{}]
      1. 获取当前集合中的所有数据
        1. db.集合名称.find()
      1. 条件查询
        1. db.集合名称.find(条件对象) 如下示例:
          查找age等于18的用户:
          db.users.find({age:18})
          查找age>=18的用户:
          db.users.find({age:{$gte:18}})
    $lt:小于
    $gt:大于
    $eq:等于
    $lte:小于等于
    $gte:大于等于
    $ne:不等于
    $in:在数组中选择符合的都会被查出来
    //db.users.find({age:{$in:[18,20]}}) 年龄为18和20的用户
    $nin:
    

    多个条件查询,多写属性即可

      1. 删除数据
        db.集合名称deleteOne(条件对象)
        ///如满足条件的有多个,则只删除第一个!
        db.集合名称.deleteMany(条件对象)
        ///一般为数组[{},{}]
      1. 修改数据

    db.集合名称.updateOne(条件对象,操作对象)
    db.集合名称.updateMany(条件对象,操作对象)

    /// 需求:将集合中所有叫小明的用户年龄修改成18岁
    db.users.updateMany({name: "小明"}, {$set: {age : 18, ...}})

    相关文章

      网友评论

          本文标题:MongoDB学习之路(三)_使用说明①(Shell命令篇)

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