美文网首页我爱编程
MongoDB基本操作命令

MongoDB基本操作命令

作者: 原来是仙女阿 | 来源:发表于2018-05-13 19:08 被阅读23次

    MongoDB数据类型

    MongoDB创建/删除数据库

    use DATABASE_NAME 如果数据库不存在,创建数据库,否则切换指定数据库
    show dbs 查看所有数据库
    db.dropDatabase() 删除当前数据库

    MongoDB创建/删除集合

    db.createCollection('name',options) 创建集合
    参数-- 1.name: 要创建的集合名称 2.options: 可选参数, 指定有关内存大小及索引的选项

    2.1 capped 布尔型 (可选)如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数
    2.2 autoIndexId 布尔 (可选)如为true,自动在 _id 字段创建索引。默认为 false。
    2.3 size 数值(可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
    2.4 max 数值 (可选)指定固定集合中包含文档的最大数量。

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

     db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )    
    

    show collections 查看已有集合
    db.collection.drop() 删除集合 返回值为true和false

    在MongoDB中不需创建集合。当插入一些文档,MongoDB会自动创建。###

    MongoDB文档增删改查

    文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
    db.COLLECTION_NAME.insert(document) 向集合中插入文档
    db.COLLECTION_NAME.save(document) 如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
    update(),save()方法用于更新已存在的文档。update()语法格式如下:

    db.COLLECTION_NAME.update(
     <query>,
     <update>,
     {
       upsert: <boolean>,
       multi: <boolean>,
       writeConcern: <document>
      }
    )
    

    参数说明:
    query : update的查询条件,类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    upsert : 可选,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    writeConcern :可选,抛出异常的级别

    例如:更改title "MongoDB 教程"为 "MongoDB"。设置 multi 参数为 true,会修改多条相同的文档。否则只会更新找到的第一条文档。

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
    

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

    db.COLLECTION_NAME.save(
    <document>,
      {
        writeConcern: <document>
      }
    )
    

    remove()是用来移除集合中的数据。语法格式如下:

    db.COLLECTION_NAME.remove(
       <query>,
       <justOne>
    )
    

    参数:query :(可选)删除的文档的条件。
    justOne : (可选)如果设为 true 或 1,则只删除一个文档。

    如果你只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:

    db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
    

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

    db.COLLECTION_NAME.remove({})
    

    db.COLLECTION_NAME.find(query, projection) 查看已插入文档
    参数:query :可选,使用查询操作符指定查询条件
    projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
    db.COLLECTION_NAME.find().pretty() 以格式化的方式来显示所有文档
    db.COLLECTION_NAME.findOne() 返回一个文档

    find()方法可以传入多个键(key),每个键(key)以逗号隔开,即常规SQL的AND条件。语法格式如下:

    db.COLLECTION_NAME.find({key1:value1, key2:value2}).pretty()
    

    OR条件语句使用了关键字 $or,语法格式如下:

    db.COLLECTION_NAME.find(
       {
          $or: [
             {key1: value1}, {key2:value2}
          ]
       }
    ).pretty()
    

    条件操作符

    (>) 大于 - $gt  
    (<) 小于 - $lt  
    (>=) 大于等于 - $gte  
    (<= ) 小于等于 - $lte  
    

    例子:db.COLLECTION_NAME.find({"key" : {$gt : 100}})

    相关文章

      网友评论

        本文标题:MongoDB基本操作命令

        本文链接:https://www.haomeiwen.com/subject/dzoldftx.html