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的对象和一些更新的操作符(如 , , <script type="math/tex" id="MathJax-Element-2">,</script>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>
)
  • query :(可选)删除的文档的条件
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。

limit指令,用于从数据库中获取指定数量的数据记录,它可以接受一个数字参数:db.COLLECTION_NAME.find().limit(NUMBER)
skip指令用于跳过指定数量的数据记录,同样接受一个数字参数:db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER),limit和skip的结合使用可以实现关系型数据库中的分页查询效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值