MongoDB数据库的基本操作

  1. 创建集合

    1. 在指定的数据库创建集合

      #指定在Test数据库,没有会自己创建
      use Test	
      # 创建test集合
      db.createCollection("test",{capped:true,autoIndexId:true,size:512000,max=1000})
      
      

      capped: 是一个布尔类型,true时创建固定集合,必须指定size。固定集合是指有固定大小的集合,当到达最大值的时候,他会自动覆盖最早的文档,默认为false

      autoIndexId:也是一个布尔类型,如果为true,自动在_id字段创建索引,默认为false

      size: 为固定剂和指定一个最大值(以字节KB计算)

      max: 指定固定剂和中包含文档的最大数量

      注意:

      • mongoDB和Mysql不同,在MongoDB中,不一定要先创建集合,在你插入文档的时候,MongoDB会自动创建集合
      • 插入数据的时候,一条数据使用“{}”括起来,多条数据使用“[]”括起来
      • 每条数据都必须有一个_id键,如果我们没有指定,系统会自动生成一个id
    2. 查询集合内的全部数据

      # 查看test集合中的所有数据
      db.test.find()
      # 可以使用pretty()方法格式化输出
      db.test.find().pretty()
      
    3. 删除集合

      # 删除test集合
      db.test.drop()
      
  2. 插入数据

    • 不使用变量

      # 向test集合中插入两条数据
      db.test.insert({_id:1,
          name: '王小明',
          sex: '男',
          hobbies: ['乒乓球','羽毛球'],
          birthday: '1996-02-14'
      })
      
    • 使用变量

      # 先创建一个变量
      document=({_id:1,
          name: '王小明',
          sex: '男',
          hobbies: ['乒乓球','羽毛球'],
          birthday: '1996-02-14'
      });
      # 插入到test集合
      db.test.insert(document)
      
  3. 更新文档

    • update()方法

      修改文档中的某个值,假如说王小明的出生日期错了,修改为“1996”

      db.test.update({birthday:"1996-02-14"},{$set:{birthday:"1996"}})
      

      update()方法的参数有两个,都是对象,中间用“,”隔开

      第一个参数表示需要修改的值

      第二个参数用$set操作符只想更新后的值

    • save()方法

      传入文档来替换已有文档

      假如我们弄错了一条数据,这个时候用save()方法就比较方便

      用save方法把王小明的数据改为李小红 的数据

      db.test.save({
          "_id" :1,
          "name" : "李小红",
          "sex" : "女",
          "hobbies" : [
                  "画画",
                  "唱歌",
                  "跳舞"
          ],
          "birthday" : "1996-06-14"
      })
      

      注意:如果指定了_id,则对文档进行更新,否则进行插入

  4. 带条件的查询和删除

    首先插入以下数据到stu1(方便测试)

    document=([{
        name:'张小华',
        sex:'男',
        age:20,
        phone:'12356986594',
        hobbies:['打篮球','踢足球','唱歌']
    },{
        name:'李小红',
        sex:'女',
        age:18,
        phone:'12355487536',
        hobbies:['跳舞','唱歌']
    }])
    db.stu1.insert(document)
    

    在这里插入图片描述

    例子:

    1. 查找stu1集合中age大于18的数据

      db.stu1.find({"age":{$gt:18}}).pretty()
      

      在这里插入图片描述

    2. 查找年龄为20的男性

      db.stu1.find({"age":20,"sex":"男"}).pretty()
      

      在这里插入图片描述

    3. 删除年龄为20 的数据

      db.stu1.remove({"age":20})
      

      在这里插入图片描述

    4. 删除全部数据(集合不会被删除)

      db.stu1.remove({})
      

      在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值