253_Mongodb_增刪改查_查find

      網(wǎng)友投稿 582 2025-04-01

      find() findone() 查詢出符合條件的第一個文檔(只返回第一個) db.inventory.findOne({"qty":100},{_id:0}) db.inventory.find({"qty":100}) query :可選,使用查詢操作符指定查詢條件 projection :可選,使用投影操作符指定返回的鍵。 1 顯示此字段, 0 不顯示此字段 {“_id”:0} 查詢時返回文檔中所有鍵值,只需省略該參數(shù)即可(默認(rèn)省略) 需要以易讀的方式來讀取數(shù)據(jù),可以使用 pretty() 方法;

      查詢操作符

      操作符類型

      運算符

      描述

      比較

      $eq

      $ne

      等于

      不等于

      $lt

      $lte

      小于

      小等于

      $gt

      $gte

      大于

      大等于

      $in

      $nin

      判斷元素是否在只讀的集合范圍內(nèi)

      判斷元素是否不在指定的集合范圍里

      $all

      判斷數(shù)組中是否包含某幾個元素,無關(guān)順序

      邏輯運算

      $and

      連接多個查詢條件,查詢的文檔都要滿足條件

      $nor

      連接多個查詢條件,查詢的文檔都不滿足條件 與and相反

      $or

      有一個條件成立則匹配

      $not

      只可用于一個查詢條件, 查詢出的文檔不符合該條件

      元素操作符

      $exists

      判斷元素是否存在,

      若為true, 表文檔數(shù)據(jù)必須符合存在條件,

      若為false,表示文檔數(shù)據(jù)必須符合不存在條件

      $type

      依照字段的類型進(jìn)行篩選

      評估操作符號

      $expr

      對文檔兩個字段進(jìn)行比較,今兒查詢出符合條件

      $mod

      取余條件, 表查詢出符合余數(shù)條件的文檔

      其他

      .

      內(nèi)嵌 & 子文檔匹配

      $regex

      正則表達(dá)式匹配含有相關(guān)條件的文檔

      采用 PCRE(perl compatible regular expression) 來支持正則表達(dá)式

      #find & findone db.inventory.findOne({"item":"apple"},{_id:0}) db.inventory.find({"qty":"apple"}) db.inventory.findOne({"qty":100},{_id:0}) db.inventory.find({"qty":100}) // 內(nèi)嵌文檔多個字段匹配 // 下面兩個語句查詢效果不一樣,因為查詢的字段順序不一樣 db.inventory.find( { size: { h: 14, w: 21, uom: "cm" } } ) db.inventory.find( { size: { w: 21, h: 14, uom: "cm" } } ) // 數(shù)組查詢 // 匹配確切的數(shù)組內(nèi)容,包括元素順序 db.inventory.find( { tags: ["blank", "red", "small"] } ) db.inventory.find( { tags: ["red", "blank"] } ) // 不考慮順序和其他元素 db.inventory.find( { tags: { $all: ["red", "blank"] } } ) // length數(shù)組中至少有一個元素,滿足$elemMatch的條件 db.inventory.find( { length: { $elemMatch: {$gte:30, $lt:80} } } ) // tags數(shù)組大小為3的記錄 db.inventory.find( { "tags": { $size: 3 } } ) # 1 比較操作符 db.inventory.find({"tags": {$in: ["red", "big"] }}) db.inventory.find({"qty":{$lte:150}}) # 2 邏輯操作符 db.inventory.find({$and:[{"qty":{$lte:150}}, {"tags": {$in:["red", "big"]}}] }) db.inventory.find({"qty": {$not: {$lte: 100}}}) db.inventory.find({"item": {$not: {$eq: "orange"}}}) # 3 元素操作符 db.inventory.find().size() //15 db.inventory.find({"tags": {$exists:true}}).size() //8 db.inventory.find({"tags" : { $type : "array"}}) # 4 評估操作符 db.inventory.find({$expr: {$lt:["$字段1","$字段2"]}}) 查詢字段1值小于字段字段2的文檔

      正則 {: { $regex: /pattern/, $options: “”} } {: { $regex: ‘pattern’, $options: “”} } {: { $regex: /pattern/ } } 參數(shù)說明 $regex: /pattern/ $regex: ‘pattern’ $regex 操作符后加上字符串,可對字符串進(jìn)行模糊查詢 可選參數(shù) “i” 忽略大小寫, “x” 表忽略空格 “m” 數(shù)據(jù)為多行(\n)時,任意一條符合即可 “s” 將多行數(shù)據(jù)視為一行(\n 視為字符) # 正則 #{ item: "postcard", qty: 45, tags: ["gray", "yellow", "green"], size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }, db.inventory.find({"item": {$regex: "card", $options: "i"}})

      查詢其他操作

      映射 字段選擇:db.inventory.find({},{'item':1}) 字段排除: db.inventory.find({},{'item':0}) 數(shù)組子元素選擇:db.inventory.find({},{'tags':{'$slice':[1,2]},'tags':1}) $slice可以取兩個元素數(shù)組,分別表 示跳過和限制的條數(shù); 排序 sort():db.orders.find().sort({'orderTime':1,'price':1}) 1:升序 2:降序 跳過和限制 skip(n):跳過n條數(shù)據(jù) limit(n):限制n條數(shù)據(jù) e.g:db.orders.find().sort({'orderTime':-1}).limit(5).skip(5) 查詢唯一值 distinct():查詢指定字段的唯一值 e.g:db.users.distinct("age")

      數(shù)據(jù)校驗

      253_Mongodb_增刪改查_查find

      # 數(shù)據(jù)校驗 前提: 擁有collMod 操作權(quán)限 1 創(chuàng)建集合的方式(db.createcollecton) 通過添加validator, 從而在創(chuàng)建集合的時 建立驗證規(guī)則 1.1 json schema驗證模式 1.2 查詢表達(dá)式驗證模式 無論哪種方式都要加上 validationAction, 可以設(shè)定為error & warn error: 默認(rèn)值 如果插入或更新違規(guī),報錯 warn: 如果插入/更新違規(guī) 告警

      sonSchema db.createCollection("ProductAlex", { validator:{ $jasonschema: { bsonType: "object", required: ["name", "weight"], properties: {name: {bsontype: "string"}, weight: {bsontype: "int", minimum:10, maximum: 100}}, validationAction: "warn" }} })

      批量操作動作

      // 批量寫入操作 // 準(zhǔn)備數(shù)據(jù) db.characters.insertMany([ { "_id" : 1, "char" : "Brisbane", "class" : "monk", "lvl" : 4 }, { "_id" : 2, "char" : "Eldon", "class" : "alchemist", "lvl" : 3 }, { "_id" : 3, "char" : "Meldane", "class" : "ranger", "lvl" : 3 } ]); // 批量操作動作 try { db.characters.bulkWrite( [ { insertOne : {"document" : {"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4} } }, { insertOne : {"document" : { "_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3} } }, { updateOne : { "filter" : { "char" : "Eldon" }, "update" : { $set : { "status" : "Critical Injury" } } } }, { deleteOne : { "filter" : { "char" : "Brisbane"} } }, { replaceOne : { "filter" : { "char" : "Meldane" }, "replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 } } } ] ); } catch (e) { print(e); }

      MongoDB 面向?qū)ο缶幊?/p>

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何在WPS表格中畫出圓角箭頭圖形(wps流程圖直角箭頭)
      下一篇:apaas平臺搭建方案(apaas ipaas)
      相關(guān)文章
      午夜亚洲乱码伦小说区69堂| 亚洲精品女同中文字幕| 小说专区亚洲春色校园| 亚洲色大成网站www久久九| 亚洲91av视频| 久久亚洲春色中文字幕久久久| 亚洲av女电影网| 亚洲av无码一区二区三区不卡| 亚洲国产成人片在线观看无码 | 亚洲综合在线另类色区奇米| 亚洲中文无韩国r级电影| 亚洲国产成人久久笫一页| 最新亚洲人成网站在线观看| 亚洲av日韩专区在线观看| WWW国产亚洲精品久久麻豆| 亚洲乱码av中文一区二区| 亚洲av无码专区首页| 四虎精品亚洲一区二区三区| 亚洲高清毛片一区二区| 亚洲精品无码av中文字幕| 久久精品国产亚洲av品善| 亚洲?V乱码久久精品蜜桃| 精品国产亚洲男女在线线电影 | 亚洲综合丁香婷婷六月香| 亚洲熟妇av午夜无码不卡| 亚洲AV无码专区在线厂| 亚洲精品乱码久久久久久不卡| 日韩精品亚洲aⅴ在线影院| 亚洲级αV无码毛片久久精品| 亚洲AV综合色区无码一区爱AV| 亚洲一区二区成人| 亚洲成a人片在线观看播放| 亚洲神级电影国语版| 亚洲制服丝袜第一页| 亚洲av乱码中文一区二区三区| 亚洲国产成人爱av在线播放| 亚洲一区二区三区在线观看精品中文| 亚洲成AV人片天堂网无码| 亚洲精品国产成人中文| 一本色道久久88—综合亚洲精品| 欧洲亚洲综合一区二区三区|