美文网首页
MongoDB初体验

MongoDB初体验

作者: 一蓑烟雨任平生_cui | 来源:发表于2018-10-22 11:52 被阅读0次

    MongoDB是基于分布式文件存储的数据库,介于关系型数据库和非关系型数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。由C++编写,入门简单,使用灵活,可以结合Node使用,所以对前端程序员也是极其友好的。

    1. 安装(以windows操作系统为例)

      • 官网地址,根据自己的操作系统下载完之后安装即可,安装过程中可以自定义安装目录,默认装在C盘。
    2. 创建数据目录

      • MongoDB将数据存储在db目录下,但这个目录不会自动创建,需要手动创建。(注意:数据目录应该放在安装的根目录下)以C盘为例,在C盘下创建data文件夹,data下创建db文件夹。

    查看MongoDB版本

    mongo -version
    
    1. 启动数据库
    mongod 
    
    2. 连接数据库(再开启一个终端)
    mongo
    

    基于CRUD的基本命令使用

    1. 显示所有数据库
    show dbs
    
    2. 切换到指定数据库
    use `数据库名称`
    
    • 如果没有会自动创建,但是再执行 show dbs 的时不会显示,只有插入数据以后才显示。
    3. 查看当前所在的数据库
    db
    
    4. 创建集合
    db.createCollection(name, options)  
    
    • name为集合名
    • options为可选的对象参数,包括size,max等属性
    5. 显示当前数据库的所有集合
    show collections
    
    6. 删除某个集合
    db.Collection_Name.drop()
    
    7. 插入数据
    db.Collection_Name.insert(document)   
    
    • Collection_Name 为集合名,如果当前数据库中没有该集合,MongoDB 会自动创建并插入文档。
    • Use:
      • db.userInfo.insertOne({"name": "Jack", "age": 18})
    8. 更新数据
    db.Collection_Name.update(
       <query>,     
       <update>,    
       {
         upsert: <boolean>,        
         multi: <boolean>,          
         writeConcern: <document>   
       }
    )
    
    • query 查询条件
    • update 更新后的数据
    • 参数3 可选
      • upsert 可选,这个参数的意思是,如果不存在update的记录,是否插入newObj,true为插入,默认是false,不插入。
      • multi 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
      • writeConcern 可选,抛出异常的级别。
    9. 查询数据
    db.Collection_Name.find(query, projection)  
    
    • query 可选,查询条件

    • projection 可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)

    • 如果参数为空,读取到的是所有数据

      以易读的方式来读取数据
      db.Collection_Name.find().pretty() 
      
      • Use:
        1. db.userInfo.find()
        2. db.userInfo.find().prety()
    10. 多条件查询
    1. AND
    db.Collection_Name.find({key1: value1, key2 :value2}).pretty()
    
    1. OR
    db.Collection_Name.find(
       {
          $or: [
             {key1: value1}, {key2: value2}
          ]
       }
    ).pretty()
    
    1. AND 和 OR联合使用
    db.col.find({key1: value1}, $or: [{key2: value2}, {key3: value3}]}).pretty()
    
    11. 删除数据
    db.collection.remove(
       <query>,
       <justOne>
    )
    
    如果 MongoDB 是 2.6 版本以后的,语法格式如下:
    db.collection.remove(
       <query>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )
    
    • query :(可选)删除的文档的条件。
    • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
    • writeConcern :(可选)抛出异常的级别。

    以上为基本的CRUD使用。

    相关文章

      网友评论

          本文标题:MongoDB初体验

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