mongodb基本操作

mongodb基本操作

  • 控制台启动mongodb
    在控制台输入mongo即可开启mongo shell
    在mongo shell中输入help即可查看mongodb的一些常用命令

数据库操作

  • 创建数据库
    • 控制台输入use <db_name>创建名为db_name的数据库
    • 输入show dbs查看所有数据库,会发现没有新建的数据库,这是因为新建的数据库中没有数据,加入数据后就可以看见了。
  • 删除数据库
    • 查看所有数据库show dbs
    • 切换到要删除的数据库use <db_name>
    • 删除数据库db.dropDatabase()
  • 查看当前数据库db
  • 查看当前数据库中的集合show collections
    注意:mongodb中,数据库和集合不需要手动创建,在创建文档时,如果文档所在的集合或数据库不存在,会自动创建数据库和集合

数据库中的CRUD

  • 向数据库中插入文档
    • 向集合中插入文档
      db.<collection_name>.insert(doc)
      实例:

      db.student.insert(
          {
              name:"Tom",
              age:"18",
              gender:"男"
          }
      )
      

      注意:
      1.当在向集合中插入文档时,如果没有给文档指定“_id”属性,数据库会自动为文档添加“_id”属性(objectId(时间戳+机器码))。
      2.“_id”可以手动创建,要确保“_id”的唯一性。

      • 向集合中插入一个文档(只能插入一个)
        db.<collection_name>.insertOne()
      • 向集合中插入多个文档(只能插入多个文档)
        db.<collection_name>.insertMany()

      也可以将文档看作一个对象,新建文档对象,然后插入文档对象。实例代码如下:

      >document=(
         	 	{
              		name:"Tom",
              		age:"18",
              		gender:"男"
         		 }
      	)
      
      >db.student.insert(document)
      
    • 修改文档

      • 修改单个文档
        db.<collection_name>.update(
            <query>,
            {$set:{index:"update_data"}}
        )
        
        实例:
        > db.student.find()                                             })
            { "_id" : ObjectId("5d65f436f95b92010e77a99e"), "name" : "Time", "age" : "21", "gender" : "女" }
            { "_id" : ObjectId("5d660e8af95b92010e77a99f"), "gender" : "男" }
            { "_id" : ObjectId("5d661116f95b92010e77a9a0"), "name" : "Tom", "age" : "20", "gender" : "男" }
            > db.student.update({name:"Tom"},{$set:{gender:"女"}})
            WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
            > db.student.find()
            { "_id" : ObjectId("5d65f436f95b92010e77a99e"), "name" : "Time", "age" : "21", "gender" : "女" }
            { "_id" : ObjectId("5d660e8af95b92010e77a99f"), "gender" : "男" }
            { "_id" : ObjectId("5d661116f95b92010e77a9a0"), "name" : "Tom", "age" : "20", "gender" : "女" }
            ```
        
    • 修改多个文档
      db.<collection_name>.update( <query>, {$set:{index:"update_data"}}, {multi:true} )
      实例:

       > db.student.find()                                  )
      { "_id" : ObjectId("5d65f436f95b92010e77a99e"), "name" : "Time", "age" : "21", "gender" : "女" }
      { "_id" : ObjectId("5d660e8af95b92010e77a99f"), "gender" : "男" }
      { "_id" : ObjectId("5d661116f95b92010e77a9a0"), "name" : "Tom", "age" : "20", "gender" : "女"
      > db.student.update({gender:"女"},{$set:{age:"30"}},{multi:true})
      WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
      > db.student.find()                                             )
      { "_id" : ObjectId("5d65f436f95b92010e77a99e"), "name" : "Time", "age" : "30", "gender" : "女" }
      { "_id" : ObjectId("5d660e8af95b92010e77a99f"), "gender" : "男" }
      { "_id" : ObjectId("5d661116f95b92010e77a9a0"), "name" : "Tom", "age" : "30", "gender" : "女" }
      
    • 查询文档

      • 全部查询
        db.<collection_name>.find()

      • 条件查询
        db.<collection_name>.find({query criteria})
        实例:

        > db.student.find({age:"20"}
        { "_id" : ObjectId("5d661116f95b92010e77a9a0"), "name" : "Tom", "age" : "20", "gender" : "男" }
        
      • 查询结果格式化显示
        db.<collection_name>.find(query criteria).pretty()
        实例:

        > db.student.find().pretty()
        {
               "_id" : ObjectId("5d65f436f95b92010e77a99e"),
               "name" : "Tom",
               "age" : "18",
               "gender" : "男"
        }
        {
               "_id" : ObjectId("5d660e8af95b92010e77a99f"),
               "name" : "Tom",
               "age" : "18",
               "gender" : "男"
        }
        
    • 删除文档

        db.collection.remove(
             <query>,
             <justOne>
         )
      
      • 删除一个文档

        db.<collection_name>.remove(
               delete_criteria,
               1
         )
        
      • 删除所有文档

        db.<collection_name>.remove({})
        
    • 删除集合
      db.<collection_name>.drop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值