MongoDB基础(一)

一、数据库的删除与创建 

.__创建数据库 即进入数据库                           
     use DATABASE_NAME                                                  注:<collection_name>表集合名称


.__表示当前所处数据库
     db


.__查看所有数据库
     show dbs


.__删除数据库(先切换到要删除的数据库下,在执行删除命令)
     db.dropDatabase()
显示{"dropped":"database_name","ok":1}表示删除成功

二、集合与文档的增删改查

.__删除集合
     db.<collection_name>.drop()
.__创建集合(在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。)
     db.createCollection(name,options)
     name: 要创建的集合名称
     options: 可选参数, 指定有关内存大小及索引的选项
options 可以是如下参数:
字段          类型                          描述
capped         布尔          (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,
                                       当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。

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

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

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

在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。
.__查看已有集合
     show collections 或 show tables


.__插入文档(文档就相当于数据,文档使用类似JSON的方式存储)
     db.<collection_name>.insert(document)

如上图就表示插入文档成功 
     插入一条数据
     db.<collection_name>.insertOne(document)
     插入多条数据
     db.<collection_name>.insertMany([document],[document]......)
.__查询文档
     db.<collection_name>.find() #查询所有文档 返回的是一个数组 后面可以加索引 [0],,,[1]


     db.<collection_name>.find({}).count() #查询文档的总数


     db.<collection_name>.find({"条件"})#查询符合条件的文档
      {  }表示查询集合中的所有文档
      {属性:值}  查询属性是指定值的文档
     db.<collection_name>.findOne()  #用来查询集合中的符合条件的第一个文档 返回的是一个文档对象 后面可以加操作 .name 或 ._id
     db.<collection_name>.find().pretty()  #pretty() 方法以格式化的方式来显示所有文档。
.__ MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件
     db.<collection_name>.find({key1:value1, key2:value2}).pretty()#key1、key2、value1、value2、可能加上“ ”!!!
.__修改文档
    db.collection.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 :可选,抛出异常的级别。
       -update()默认情况下会使用新对象来替换旧的对象且只会修改一个
         -如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成修改
            $set 可以用来修改文档中的指定属性  
          db.<collection_name>.update({"锁定修改文档"},{$set:{"修改内容"}})
            $unset 可以用来删除文档中的指定属性
           db.<collection_name>.updateMany() #同时修改多个符合条件的文档 
           db.<collection_name>.updateOne() #修改一个符合条件的文档 
.__删除文档
    db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
 #删除符合条件的所有文档
如果只传入空{}删除所有文档   db.<collection_name>.remove({})
     db.<collection_name>.deleteOne({"条件"})#只删除符合条件的一个文档
     
     db.<collection_name>.deleteMany({"条件"})#删除符合条件的所有文档
remove()方法并不会真正释放空间
需要继续执行db.repairDatabase()来回收磁盘空间
一般数据库的数据都不会删除,所以删除的方法很少使用,一般在数据中添加一个字段,来表示数据是否被删除

发布了15 篇原创文章 · 获赞 7 · 访问量 894

猜你喜欢

转载自blog.csdn.net/qq_42432935/article/details/103655306
今日推荐