MongoDB|青训营笔记

52 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第11天

结构理解

excel->工作表->数据(一行为一个) <==> 数据库->集合->文档

数据库增删改查语法

  • 查看数据库 show databases
  • 创建数据库 有隐式创建
  • 选择数据库 use 数据库名称//隐式创建
  • 删除数据库 1.先选择要删除数据库 2.db.dropDatabase()删除数据库

集合||文档 增删改查语法

  • 查看集合 show collections
  • 创建集合 db.createCollection('集合名')//有隐式创建
  • 创建数据 || 创建集合 db.集合名.insert(json数据)
    • 隐式创建集合
    • json属性可以不加引号自动加
    • 会自动添加一全球唯一的id
    • 也可以自己在json中自己添加覆盖
    • 一次添加多个文档
      • db.集合名.insert([json对象1,json对象2,...])

      • 可以写for循环

        for(let i=1;i<=10;i++){
            db.集合名.insert(json对象)
        }
        
  • 查看文档 db.集合名.find(条件[,查询的列])
    • 条件
      1. 不写则查询全部数据
      2. {age:6}查询age=6的数据
      3. {age:6,sex:'男'}查询两个条件都满足的数据
      4. {age:{$gt:5}}查询age>5的
      5. {age:{$in:[5,8,10]}}查询age=5,8,10的
    image.png
    • 查询的列
      1. 不写则全部查询
      2. {age:1}只看age列(id除外)
      3. {age:0}不看age列(id除外)
    • 格式化文档 db.集合名.find().pretty()
  • 修改文档 db.集合名.updata(条件,新数据[,是否新增,是否修改多条])
    • 是否新增 : 如果条件匹配不到则插入(true||false)

    • 是否修改多条 : 将匹配成功的数据都修改(true||false)

    • 条件 || 新数据

      1. db.集合名.updata({name:'lili'},{name:'pingping'})并不是只是修改name,而是整个替换,修改后数据只剩下name:'pingping'(除了id)
      2. db.集合名.updata({name:'lili'},{$set:{name:'pingping'}})只是修改name,和(1)相对

      image.png

      image.png

      image.png

      • 删除文档 db.集合.remove(条件,是否删除一条)
        • 是否删除一条(true一条,false全部)
  • 总结
    • C(create):db.集合名.insert(json数据)

    • D(delete):db.集合名.remove(条件[,是否删除一条])

    • U(Updata):db.集合名.updata(条件,新数据[,是否新增,是否修改多条])

      1. 升级语法 db.集合名.updata(条件,{修改器:{键:值}})
    • R(read): db.find(条件[,查询的列])