zoukankan      html  css  js  c++  java
  • 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({})

                                                    

                              

                                          

                               

  • 相关阅读:
    ThreadLocal
    spring概述
    排序
    内存的分配原则
    常用概念比较
    垃圾回收机制
    java的内存模型
    对象的内存布局
    adb connect 和 install 通讯流程
    Android硬件抽象层(HAL)深入剖析(三)
  • 原文地址:https://www.cnblogs.com/mo-xiao-tong/p/12706783.html
Copyright © 2011-2022 走看看