版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MongoDB CRUD技術(shù)操作概述課程內(nèi)容寫入刪除讀取文檔查詢操作更新操作寫入刪除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字節(jié)的 ObjectId 的組成:4字節(jié)時間5字節(jié)的隨機值3字節(jié)的隨機計數(shù).- 寫入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 : 根據(jù)list 的順序false : 不根據(jù) list的順序insert
3、db.collection.bulkWrite( insertOne :“document” : “a” : 1 , insertOne :“document” : ”b“ : 2 , deleteOne:“document” : ”b“ : 2 , ordered : )bulkWrite orderead: true 有序操作,效率低,遇錯會退出 ordered: false 無序操作,性能高,遇錯會繼續(xù)執(zhí)行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()刪除集合所有的數(shù)據(jù)和索引,釋放磁盤空間比deleteMany()效率高db.dropDatabase()刪除數(shù)據(jù)庫,釋放磁盤空間/ 刪除集合db.drop()/ 刪除數(shù)據(jù)庫db.dropDatabase()讀取文檔find()返回cursor字符類型,可以
6、使用不等于$exists $type $regex 等find()/ 返回集合內(nèi)所有行數(shù)據(jù)db.find()/ 返回符合條件的文檔db.find(name:test1,age:18)/ 按條件,且返回指定的字段db.find(name:test1,age:18,_id:0,name:1)/ 返回表內(nèi)所有行數(shù)據(jù)SELECT * FROM;/ 返回符合條件的行SELECT * FROM WHERENAME=test1 AND AGE=18;/ 按條件,且返回指定的字段SELECT name FROM WHERENAME=test1 AND AGE=18;查詢數(shù)組/ 嵌套查詢filed1.field
7、2db.find(address.street:NANJING ROAD)/ 正則匹配 db.find(name: /test/)/ 2表關(guān)聯(lián)查詢SELECT * FROM A, INNER JOIN B ONA.STREETID=B.ID WHEREB.STREETNAME = NANJING ROAD/ 模糊查詢SELECT * FROMWHEREname LIKE “test%”;游標(biāo)操作/ 查詢記錄數(shù)db.find( ).count( )/ 查詢結(jié)果排序db.find( ).sort( : 1)/ 忽略100條db.find( ).skip(100)/ 只返回10條db.find( )
8、.limit(10)/ 過濾重復(fù)值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數(shù)據(jù)類型/ 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)數(shù)組查詢操作操作解釋$all完全匹配$size數(shù)組大小$elemMatch元素匹配/ 類型是科幻和動作類的db.movies.find( category : $all : sci-fi, action )/包含3種類型的電影db.movies.find( category : $size : 3 )/數(shù)組內(nèi)的元素滿足城市和國家條件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() / 回到最初狀態(tài)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字段設(shè)為當(dāng)前 時間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 )數(shù)組元素更新操作解釋$push追加元素到數(shù) 組最后$pop刪除數(shù)組最后 的元素$pull刪除數(shù)組內(nèi)所 有符合條件的 元素$pullAll刪除數(shù)組里所 有匹配的值$addToSet追加不存在的 數(shù)組元素$占位符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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 試車跑道施工方案
- 鐵路拱型護坡施工方案
- 2025年研磨拋光設(shè)備項目可行性研究報告
- 中國氣象信息化建設(shè)與IT應(yīng)用行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報告
- 2025年輕型防震腳墊行業(yè)深度研究分析報告
- 2025年中國微凹黃檀行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 年產(chǎn)20萬噸雙氧水建設(shè)項目建議書
- 2025年中國創(chuàng)傷植入物行業(yè)市場調(diào)研及未來發(fā)展趨勢預(yù)測報告
- 2025年度金融服務(wù)合同:投資銀行并購服務(wù)協(xié)議3篇
- 舟山2025年浙江舟山群島新區(qū)旅游與健康職業(yè)學(xué)院招聘高層次人才筆試歷年參考題庫附帶答案詳解
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)歷史試卷(含答案)
- 《視頻壓縮基礎(chǔ)》課件
- 2025南方財經(jīng)全媒體集團校園招聘63人高頻重點提升(共500題)附帶答案詳解
- 《A機場公司人力資源管理工作實踐調(diào)研報告》2600字(論文)
- 社工人才培訓(xùn)計劃實施方案
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案
- 6、水平四+田徑18課時大單元計劃-《雙手頭上前擲實心球》
- 幼兒園人民幣啟蒙教育方案
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 青島版科學(xué)四年級下冊課程綱要
- GB/T 6672-2001塑料薄膜和薄片厚度測定機械測量法
評論
0/150
提交評論