MongoDB学习笔记(2)——数据库相关操作

3.数据库操作

3.1 数据库的创建和删除

创建、切换指令:use dbname,如果名为dbname的数据库存在,那么切换到该数据库,否则创建该数据库。
展示当前mongoDB中的数据库列表:show dbs,新建的数据库中必须有记录才会在列表中出现。
删除数据库:db.dropDatabase(),执行后删除当前数据库。

3.2 集合的创建和删除

创建指令:db.createCollection(name,options),参数name为集合的名称,options是可选参数,在使用时形如JavaScript数组{ capped : true, autoIndexId : true, size : 6142800, max : 10000 } ,如下:

字段 类型 描述
capped 布尔 如果为true,则创建固定集合,指有固定大小的集合,当达到最大值时,会自动覆盖最早的文档,当capped为true时,必须要指定size参数
autoIndexId 布尔 默认false,如果是true,则自动在_id上创建索引
size 数值 为固定集合指定一个最大值
max 数值 指定固定集合包含文档的最大数量

在插入文档时,MongoDB先检查固定集合的size字段,再检查max字段。
查看数据库中已经有的集合:show collections
在实际的操作过程中未必需要进行创建操作,我们对数据库执行插入文档操作时,会自动创建对应的集合。如db.mycol2.insert({"name" : "张三"}),则会自动创建集合mycol2。
集合删除指令:db.collectionName.drop(),则删除名为collectionName的集合。

3.3 文档操作

插入指令:db.COLLECTION_NAME.insert(document),document指json规范的对象。我们也可以先行定义一个json对象document={"author" : "张三","title":"MongoDB笔记","abstract":"MongoDB是一种非关系数据库","tag":['mongodb', 'database', 'NoSQL']},然后执行db.COLLECTION_NAME.insert(document)
查看指令:db.COLLECTION_NAME.find(query, projection),即可查看集合COLLECTION_NAME中插入的文档。
更新指令:

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

其中:

  • query:update的查询条件,相当于SQL中的WHERE子句;
  • update:update的对象和一些更新的操作符(如 , inc…)等,相当于sql update中的SET子句;
  • upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入;
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新;
  • writeConcern :可选,抛出异常的级别。

更新操作的实例:db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
替换文档指令:

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

参数:

  • document:传入的文档
  • writeConcern :可选,抛出异常的级别。

删除文档操作:

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

猜你喜欢

转载自blog.csdn.net/ascend2015/article/details/80358889
今日推荐