MongoDB CRUD技术操作概述_第1页
MongoDB CRUD技术操作概述_第2页
MongoDB CRUD技术操作概述_第3页
MongoDB CRUD技术操作概述_第4页
MongoDB CRUD技术操作概述_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、MongoDB CRUD技术操作概述课程内容写入删除读取文档查询操作更新操作写入删除insert- 不显式指定_id db.insert(a:”1”) ”_id”: ObjectId(“5c7b89804310d22d46a37110”), “a”: “1”- 显式指定_id db.insert( _id:1001 , a:”1”) “_id”: 1001 ,“a:” “1”_id_id:不支持 array支持string int等 默认是ObjectId( )ObjectId():12字节的 ObjectId 的组成:4字节时间5字节的随机值3字节的随机计数.- 写入1条db.insertO

2、ne(name:jack, interest:game,sports,python, address:province:shanghai, street: lujiazui,road: century avenue No.101 )- 写入多条db.insertMany(name:test1,age:18,gender:male,name:test2,age:19,gender:female,name:test3,age:20,gender:male,ordered: true)ordered: booleantrue : 根据list 的顺序false : 不根据 list的顺序insert

3、db.collection.bulkWrite( insertOne :“document” : “a” : 1 , insertOne :“document” : ”b“ : 2 , deleteOne:“document” : ”b“ : 2 , ordered : )bulkWrite orderead: true 有序操作,效率低,遇错会退出 ordered: false 无序操作,性能高,遇错会继续执行deletedeleteOne()删除单条文档,满足查询条件的第一条deleteMany()删除多条文档,满足查询条件的所有文档for (i=1; i=20; i+) db.testc

4、ol.insertOne( _id : i, a : i ) . / insert one document foreachdb.testcol.deleteMany( a : 1 ). / Delete the first document/ $lt is a query operator that enables us to select documents that/ are less than some value. More on operators soon. db.testcol.deleteMany( a : $lt : 5 ) / Remove three more db.t

5、estcol.deleteOne( a : $lt : 10 ) / Remove one more db.testcol.deleteMany() / Error: requires a query document. db.testcol.deleteMany( ) / All documents removeddropdb.drop()删除集合所有的数据和索引,释放磁盘空间比deleteMany()效率高db.dropDatabase()删除数据库,释放磁盘空间/ 删除集合db.drop()/ 删除数据库db.dropDatabase()读取文档find()返回cursor字符类型,可以

6、使用不等于$exists $type $regex 等find()/ 返回集合内所有行数据db.find()/ 返回符合条件的文档db.find(name:test1,age:18)/ 按条件,且返回指定的字段db.find(name:test1,age:18,_id:0,name:1)/ 返回表内所有行数据SELECT * FROM;/ 返回符合条件的行SELECT * FROM WHERENAME=test1 AND AGE=18;/ 按条件,且返回指定的字段SELECT name FROM WHERENAME=test1 AND AGE=18;查询数组/ 嵌套查询filed1.field

7、2db.find(address.street:NANJING ROAD)/ 正则匹配 db.find(name: /test/)/ 2表关联查询SELECT * FROM A, INNER JOIN B ONA.STREETID=B.ID WHEREB.STREETNAME = NANJING ROAD/ 模糊查询SELECT * FROMWHEREname LIKE “test%”;游标操作/ 查询记录数db.find( ).count( )/ 查询结果排序db.find( ).sort( : 1)/ 忽略100条db.find( ).skip(100)/ 只返回10条db.find( )

8、.limit(10)/ 过滤重复值db.distinct(“field”)查询操作比较查询操作操作解释$lt小于$lte小于等于$gt大于$gte大于等于$ne不等于$in包含$nin不包含/ IMDB等分大于等于7db.movies.find( imdb_rating : $gte : 7 )/ 影片分类不属于家庭类的db.movies.find( category : $ne : family )/ 电影名包含蝙蝠侠或哥斯拉db.movies.find( title : $in : Batman, Godzilla )/ 电影名不包含蝙蝠侠或哥斯拉db.movies.find( title

9、 : $nin : Batman, Godzilla 逻辑查询操作操作解释$or或者$not不$nor都不$and并且/ 科幻类或者IMDB大于等于7分db.movies.find( $or : category : sci-fi , imdb_rating : $gte : 7 )/科幻类且IMDB大于等于8分;或家庭类且IMDB大于等于7分db.movies.find( $or : category : sci-fi, imdb_rating : $gte : 8 , category : family, imdb_rating : $gte : 7 )元素查询操作操作解释$exists存

10、在$type数据类型/ budget字段存在db.movies.find( budget : $exists : true )/ type 1 or alias doubledb.movies.find( budget : $type : 1 )db.movies.find( budget: $type: double)/ type 3 or alias object (embedded document)db.movies.find( budget : $type : 3 )db.movies.find( budget: $type: object)/ type string matchin

11、g array elementsdb.movies.find( category: $type: 2)db.movies.find( category: $type: string)数组查询操作操作解释$all完全匹配$size数组大小$elemMatch元素匹配/ 类型是科幻和动作类的db.movies.find( category : $all : sci-fi, action )/包含3种类型的电影db.movies.find( category : $size : 3 )/数组内的元素满足城市和国家条件db.movies.find( filming_locations : $elemM

12、atch : city : Florence, country : Italy )更新操作replaceOne()db.movies.insertOne( title: Batman ) db.movies.find()db.movies.replaceOne( title : “Batman” , imdb_rating : 7.7 )/title被删除db.movies.find()db.movies.replaceOne( imdb_rating: 7.7 , title: Batman, imdb_rating: 7.7 ) db.movies.find()db.movies.repl

13、aceOne( , title: Batman ) db.movies.find() / 回到最初状态db.movies.replaceOne( , _id : ObjectId() )/错误,_id不能改变updateOne()/updateMany()db.movies.insertMany( title : Batman, category : action, adventure , imdb_rating : 7.6, budget : 35 , title : Godzilla, category : action, adventure, sci-fi , imdb_rating :

14、 6.6 , title : Home Alone, category : family, comedy , imdb_rating : 7.4 )db.movies.updateOne( “title” : “Batman” , $set : “imdb_rating” : 7.8 ) / IMDB改为7.8db.movies.updateOne( “title” : “Godzilla” , $set : “budget” : 1 ) / 增加budgetdb.movies.updateOne( “title” : “Home Alone” , $set : “budget” : 15,

15、“imdb_rating” : 5.5 ) / 修改IMDB,增加budgetdb.movies.updateOne( “title” : “Home Alone” , $unset: “budget”:1) / 删除budgetdb.movies.updateMany( , $inc: “imdb_rating” : 2 ) / 更新所有文档update操作操作解释$inc自动增加$mul乘$rename重命名字段$set更新字段$unset删除字段$min修改前后对比, 改为较小的值$max修改前后对比, 改为较大的值$currentDate字段设为当前 时间db.movies.updat

16、eOne( title: Batman , $inc: imdb_rating : 2 ) db.movies.updateOne( title: Home Alone , $inc: budget : 5 ) db.movies.updateOne( title: Batman , $mul: imdb_rating : 4 ) db.movies.updateOne( title: Batman , $rename: budget: estimated_budget ) db.movies.updateOne( title: Home Alone , $min: budget: 5 ) d

17、b.movies.updateOne( title: Home Alone , $currentDate : last_updated: $type: timestamp )/ increment movie rating by 1db.movie_mentions.updateOne( title: Batman , $inc: imdb_rating : 1 )数组元素更新操作解释$push追加元素到数 组最后$pop删除数组最后 的元素$pull删除数组内所 有符合条件的 元素$pullAll删除数组里所 有匹配的值$addToSet追加不存在的 数组元素$占位符db.movies.up

18、dateOne( “title” : “Batman” , $push : “category” : “superhero” )db.movies.updateOne( “title” : “Batman” , $pop : “category” : 1 )db.movies.updateOne( “title” : “Batman” , $pull : “category” : “action” ) db.movies.updateOne( “title” : “Batman” , $pullAll : “category” : “villain”, “comic- based” )db.movies.updateOne( “title” : “Batman” , $addToSet : “category” : “action” )占位符$/将 “action”改成action-adventuredb.movies.updateMany( category: action, , $set: category.$ : action-adventure ) db.movies.find()/使用$和arrayFilters

温馨提示

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

评论

0/150

提交评论