版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国人民解放军第五七一八工厂 2026届校园招聘笔试模拟试题及答案解析
- 2026广西百色市田阳区产业投资集团有限公司就业见习生招聘2人笔试备考题库及答案解析
- 2026中交雄安投资有限公司招聘笔试参考题库及答案解析
- 2026年3月广东广州市天河区龙口中路幼儿园编外人员招聘1人笔试备考试题及答案解析
- 2026年福建福州市教育局福州市直中小学幼儿园教师补充招聘37人笔试参考题库及答案解析
- 甘肃省平凉市静宁县重点名校2026年初三4月期中练习(二模)英语试题(理、文合卷)试题含解析
- 湖南省益阳市安化县2026届初三一诊考试-英语试题含解析
- 2026届辽宁省抚顺县初三英语试题下学期期末教学质量检测试题含解析
- 协调运输路线的沟通信7篇
- 坚持诚信经营理念承诺书(8篇)
- 2026年宝山区国有(集体)企业招聘笔试参考题库附带答案详解
- 2026复工复产安全培训第9版
- 《TCSUS69-2024智慧水务技术标准》
- 面瘫诊疗方案优化方案
- 中国图书馆分类法简表
- 新课程的教育理念 义务教育物理课程标准解读 新课标
- 地质灾害防治工程课件
- 糖尿病慢性并发症P课件
- 经皮肾镜碎石术并发脓毒血症的风险与防治
- 消防燃烧学课件
- 01文字飞机场勘察报告
评论
0/150
提交评论