文本文稿第二讲mongodb_第1页
文本文稿第二讲mongodb_第2页
文本文稿第二讲mongodb_第3页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Document 数据插入Document 数据删除Document 数据更新Document 数据插入1.插入文档 db.documentName.insert()2.批量插入文档 shell 这样执行是错误的 db.documentName.insert(,.) shell 不支持批量插入 想完成批量插入可以用mongo的应用驱动或是shell的for循环3.Save操作 save操作和insert操作区别在于当遇到_id相同的情况下 save完成保存操作 insert则会报错Document 数据删除1.删除列表中所有数据 db.documentName.remove() 集合的本身和索

2、引不会别删除2.根据条件删除 db.documentName.remove() 删除集合text中name等于uspcat的纪录 db.text.remove(name:”uspcat”)3.小技巧 如果你想清楚一个数据量十分庞大的集合 直接删除该集合并且重新建立索引的办法 比直接用remove的效率和高很多Document 数据更新1.强硬的文档替换式更新操作 db.documentName.update(查询器,修改器) 强硬的更新会用新的文档代替老的文档2.主键冲突的时候会报错并且停止更新操作 因为是强硬替换当替换的文档和已有文档ID冲突的时候 则系统会报错3.insertOrUpdat

3、e操作 目的:查询器查出来数据就执行更新操作,查不出来就替换操作 做法:db.documentName.update(查询器,修改器,true)4.批量更新操作 默认情况当查询器查询出多条数据的时候默认就修改第一条数据 如何实现批量修改 db.documentName.update(查询器,修改器,false, true) Document 数据更新5.使用修改器来完成局部更新操作修改器名称语法案例$set$set:field: value$set:name:”uspcat”它用来指定一个键值对,如果存在键就进行修改不存在则进行添加.$inc $inc : field : value $inc

4、 : count : 1 只是使用与数字类型,他可以为指定的键对应的数字类型的数值进行加减操作.$unset $unset : field : 1 $unset : “name:1 他的用法很简单,就是删除指定的键$push $push : field : value $push : books:”JS”1.如果指定的键是数组增追加新的数值2.如果指定的键不是数组则中断当前操作Cannot apply $push/$pushAll modifier to non-array3.如果不存在指定的键则创建数组类型的键值对$pushAll $pushAll : field : array $push

5、 : books:“EXTJS”,”JS”用法和$push相似他可以体谅添加数组数据$addToSet $addToSet: field : value $addToSet: books:”JS”目标数组存在此项则不操作,不存在此项则加进去Document 数据更新5.使用修改器来完成局部更新操作修改器名称语法案例$pop$pop:field: value$pop:name:1 $pop:name:-1从指定数组删除一个值1删除最后一个数值,-1删除第一个数值$pull $pull: field : value $pull : “book : “JS” 删除一个被指定的数值$pullAll $

6、pullAll: field : array $pullAll: “name:“JS”,”JAVA” 一次性删除多个指定的数值$ $push : field : value $push : books:”JS”1.数组定位器,如果数组有多个数值我们只想对其中一部分进行操作我们就要用到定位器($)例子:例如有文档name:”YFC”,age:27,books:type:JS,name:”EXTJS4”,type:”JS”,name:”JQUERY”,type:”DB”,name:”MONGODB”我们要把type等于JS的文档增加一个相同的作者author是USPCAT办法:db.text.up

7、date(books.type:JS,$set:books.$.author:USPCAT)*切记修改器是放到最外面,后面要学的查询器是放到内层的Document 数据更新6. $addToSet与$each结合完成批量数组更新 db.text.update(_id:1000,$addToSet:books:$each:“JS”,”DB”) $each会循环后面的数组把每一个数值进行$addToSet操作7.存在分配与查询效率 当document被创建的时候DB为其分配没存和预留内存当修改操作 不超过预留内层的时候则速度非常快反而超过了就要分配新的内存 则会消耗时间Document预留内存Document(这样修改速度很快)预留内存Document(这样修改因为要分配新的内存所以会慢些)Document 数据更新6. mand函数和findAndModify函数 mand可以执行mongoDB中的特殊函数 findAndModify就是特殊函数之一他的用于是返回update或remove后的文档 mand(“findAndModify”:”processes”, query:查询器,sort排序, new:trueupdate:更新器,remove:tr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论