MongoDB增删改查

一、 创建数据库
    1.语法
          use DATABASE_NAME
       如果数据库不存在,则创建数据库,反之切换到指定数据库
     实例:
       > use test1
       switched to db test1
       > db
       test1

                ​  

      2.查看数据库

              show  dbs

                   

        创建数据库,如果不在库内增加集合,查看所有数据库不会显示。(增加完集合再次查看就有了)

             

二、MongoDB删除数据库

        1.语法

               db.dropDatabase()

                删除数据需要进入数据库内才能删除

         2.实例:

                

 

                查看数据是否删除:

                    

 

 三、 创建集合

                 MongoDB 中使用 createCollection() 方法来创建集合

            1. 语法:

                    db.createCollection(name, options)

                         ¥.name: 要创建的集合名称

       ¥.options: 可选参数, 指定有关内存大小及索引的选项                 

               options 可以是如下参数:

字段                 类 型                             描述

capped            布 尔                          (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到 最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。


 

autoIndexId     布 尔                          (可选)如为 true,自动在 _id 字段创建索引。默认为 false。


 

size                 数 值                          (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定 该字段。


 

max                数 值                          (可选)指定固定集合中包含文档的最大数量

在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。

                    2.普通创建集合

                       

 

          

 

                    3.带参数创建集合

                         创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。

                     

 

 

                  4.在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

                     

四、 删除集合

                1.语法:

                     db.collection.drop()

                   

 

                    从结果中可以看出 mycol2 集合已被删除。

五、 MongoDB 插入文档

                    文档的数据结构和JSON基本一样。

                    所有存储在集合中的数据都是BSON格式。

                    BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

                 1.语法:

                       db.COLLECTION_NAME.insert(document)

                 2.实例

                       1.下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中:

                    

                        以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

                       2.查看文档

                             db.col.find()

                         

 

                       3. 将数据定义为变量后进行插入文档

                           

 

                         4.单条插入数据

                                 语法:

                                       db.collection.insertOne():向指定集合中插入一条文档数据

                                 

 

                           5.多条插入数据

                                  语法:

                                           db.collection.insertMany():向指定集合中插入多条文档数据

                                   

 

 六、更新文档

                 MongoDB 使用 update() 和 save() 方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。

                  1.update()方法

                          db.tb1.update({"test1":"1"},{$set:{"test1":"7"}})

                          首先查看写入的文档格式,如果格式不符会更新失败

                      

                         1.当修改键值找不到时不做修改  然而变成添加

                             

                2.以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。

                       db.tb1.update({"test1":"2"},{$set:{"test1":"7"}},{multi:true})

                       

                       query : update的查询条件,类似sql update查询内where后面的。

       update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的(1.的方式)

       upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是 false,不插入。

             db.tb1.update({"test8":"7"},{$set:{"test3":"5"}},{upsert:true})

                             

                                  

                     multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来 多条记录全部更新。(2.的方式)

                                        db.tb1.update({test1:"7"},{$set:{test1:10}},false,true)

                      writeConcern :可选,抛出异常的级别。

 

 

 

            3.salve方法

               save() 方法通过传入的文档来替换已有文档。语法格式如下:

                        db.collection.save( 

          <document>,

           {

                                          writeConcern: <document>

                                      }

                        )

                参数说明:

        document : 文档数据。

                             writeConcern :可选,抛出异常的级别。

                     1.替换了 _id 为"_id" : ObjectId("5e97f94eaca0d19e7e3a8d03")

                            db.tb1.save({ "_id" : ObjectId("5e97f94eaca0d19e7e3a8d03"), "test1" : 50})

                       

 

 

                              db.tb1.save({ "_id" : ObjectId("5e97f94eaca0d19e7e3a8d03"), "hell" : 50})

                        

 

 

                     2.更多实例:

                             只更新第一条记录:

                             

 

                             全部更新:

                              

 

                                只添加第一条:

                               

 

                                 全部添加进去:

                                   

 

                                    全部更新 (count值+1了)

                                   

 

 七、删除文档

                  MongoDB remove()函数是用来移除集合中的数据。

                  MongoDB数据更新可以使用update()函数。

                  在执行remove()函数前先执行find()命令来判断执行的条件是否正 确,这是一个比较好的习惯。

              1.格式:

                      db.collection.remove( ,

      <query>,

                       <justOne>

       ) 

                     如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:

                        db.collection.remove(

                               <query>,

                              {

                                 justOne: <boolean>,

                                 writeConcern: <document>

                                 }

                            )

                      参数说明:

                                query :(可选)删除的文档的条件。

         justOne : (可选)如果设为 true 或 1,则只删除一个文档。

                                writeConcern :(可选)抛出异常的级别。

                         2.实例:

                                    1.   db.tb2.remove({"test3":"ok"})

                               

 

                                  如果不添加附加项 只要相互匹配,会导致匹配相同的全部删除

                                

                              2.  只删除一个需要添加justOne

                                  db.tb2.remove({test2:1},1)

                               

 

                             3.如果你想删除所有数据,可以使用以下方式(类似常规 SQL 的 truncate 命令):

                                      >db.col.remove({})

                                

 

                              4.remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

                                           删除一个文档:

            db.test8.deleteOne( { "test1" : 50} )

                                         

 

                                            删除全部文档

                                                     db.tb1.deleteMany({})

                                                

 

 

 

 

                          

                                      

 

                           

posted @ 2020-04-16 16:23  coisini-1  阅读(233)  评论(0编辑  收藏  举报