mongodb查詢實例

1.db.EVI_EGZ_GEAR_DAY.find({"quantity0":27}).pretty()

類似MySQL的select * from EVI_EGZ_GEAR_DAY where quantity0=27


2.db.EVI_EGZ_GEAR_DAY.find({"lastModify":{$gt:ISODate("2020-07-02T16:08:45+08:00")}}).pretty()

類似MySQL的select * from EVI_EGZ_GEAR_DAY where lastModify>"2020-07-02T16:08:45+08:00"

db.EVI_BIZ_DAYINFO.find({"ReportDay":{$gte:20200601 ,$lte: 20200630},"LoginID":"304095318","Is_Statistics":1})

操作 格式 范例 RDBMS中的類似語句

等于 {<key>:<value>} db.col.find({"by":"菜鳥教程"}).pretty() where by = '菜鳥教程'

小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50

小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50

大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50

大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50

不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50

3.db.EVI_EGZ_GEAR_DAY.aggregate([{$group: {_id:"$loginId"}}])

類似MySQL的select loginId from EVI_EGZ_GEAR_DAY group by loginId


4.db.EVI_EGZ_GEAR_DAY.aggregate([{$match: {loginId:"100870655"}},{$group: {_id:"$loginId",count:{$sum: 1}}}])

類似MySQL的select loginId偿警,count(*) from EVI_EGZ_GEAR_DAY where loginId=100870655 group by loginId


5.db.EVI_RPT_MARKETMON_ANALYSIS.find({"reportTime":"201810","areaParentCode":"430000","machineCode":"MT0000000212","machineType":"2","nationCode":"CN","calcType":"0"},

{"areaName":1,"machineName":1,"workTime":1,"equCount":1,"workCount":1,"restCount":1,"highWorkCount":1,"avgWorkTime":1,"workRate":1,"calcType":"1"}).sort({ equCount:-1 })

6.聚合查詢

db.EVI_BIZ_DAYINFO.aggregate([{

? ? ? ? ? ? ? ? ? ? ? ? "$match": {

? ? ? ? ? ? ? ? ? ? ? ? ? ? "ReportTime" : ISODate("2020-07-01T00:00:00.000+08:00"),

? ? ? ? ? ? ? ? ? ? ? ? ? ? "Is_Statistics": 1,

? ? ? ? ? ? ? ? ? ? ? ? ? ? "IsOnline": 1,

? ? ? ? ? ? ? ? ? ? ? ? ? ? "MachineType_Code1" : "MT0000000276"http:// 按照一級機型分類統(tǒng)計,否則查詢不到數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? "$group" : {

? ? ? ? ? ? ? ? ? ? ? ? ? ? _id:{

? ? ? ? ? ? ? ? ? ? ? ? ? ? countyCode :"$County_Code",?

? ? ? ? ? ? ? ? ? ? ? ? ? ? cityCode :"$City_Code",

? ? ? ? ? ? ? ? ? ? ? ? ? ? provinceCode :"$Province_Code",?

? ? ? ? ? ? ? ? ? ? ? ? ? ? machineType1 :"$MachineType_Code1",

? ? ? ? ? ? ? ? ? ? ? ? ? ? machineType2 :"$MachineType_Code2",

? ? ? ? ? ? ? ? ? ? ? ? ? ? nationCode:"$Nation_Code"

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? ? ? highWorkCount : {$sum: { $cond: [ {$gte: [ "$WorkTime",8] },

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 ] }},

? ? ? ? ? ? ? ? ? ? ? ? ? ? countWork: {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $sum: '$IsWork'

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? ? ? workTime:? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $sum: '$WorkTime'

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? ? ? equCount:{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $sum: 1

? ? ? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ])


7.and查詢

db.EVI_BIZ_DAYINFO.find({"ReportDay":20200201,"LoginID":"302060888"})


8.聚合查詢類似SQL中的(group by xxx having )

db.EVI_BIZ_DAYINFO.aggregate([{

? ? ? ? ? ? ? ? ? ? ? ? "$match": {"LoginID":"101065868",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "ReportDay":{$gte: 20200701,$lte:20200731}

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? "$group": {

? ? ? ? ? ? ? ? ? ? ? ? ? ? _id:{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LoginID:"$LoginID",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ReportDay:"$ReportDay"

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? WorkTimes:{

? ? ? ? ? ? ? ? ? ? ? ? ? ? $sum: "$WorkTime"

? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? totalDay:{

? ? ? ? ? ? ? ? ? ? ? ? ? ? $sum: {$cond: [? { $gt: ["$WorkTime",0]},? 1,? 0 ]}

? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? {"$match": {WorkTimes:{$gt:0}}}

])


9.更新操作 會把查詢到的符合更新條件的都跟新一遍

db.EVI_ALARM_FLEET.update({"reportTime":ISODate("2020-08-21T00:00:00.000+08:00")},{$set:{"reportTime":ISODate("2020-08-22T00:00:00.000+08:00")}},false,true)


10.更新操作躏救,只更新一條

db.EVI_ALARM_FLEET.update({"reportTime":ISODate("2020-08-21T00:00:00.000+08:00")},{$set:{"reportTime":ISODate("2020-08-22T00:00:00.000+08:00")}})


11.OR查詢

db.EVI_BIZ_DAYINFO.find({$or:[{"LoginID":"104259298"},{"LoginID":"132349918"}]})


12模糊查詢

db.configuration.find({"envType":"hxevi.test","key":{$regex:/mail/}})

相當于MySQL的select * from configuration where envType='hxevi.test' and key like '%mail%'


13分組去重查詢,條件判斷查詢螟蒸,根據(jù)索引查詢數(shù)組盒使,排序,根據(jù)排序取最新一條數(shù)據(jù)的相關(guān)值(先按時間排序)

db.EVI_BIZ_DAYINFO.aggregate([

? ? ? ? {

? ? ? ? ? ? "$match": {

? ? ? ? ? ? ? ? "ReportTime":{"$gte":ISODate("2021-01-18T00:00:00.000+08:00"),"$lte":ISODate("2021-01-24T00:00:00.000+08:00")},

? ? ? ? ? ? ? ? "Is_Statistics": 1,

? ? ? ? ? ? ? ? "LoginID": "101102108"

? ? ? ? ? ? }

? ? ? ? },

? ? ? ? {"$sort": {"ReportTime": -1}},

? ? ? ? {

? ? ? ? ? ? "$group": {

? ? ? ? ? ? ? ? "_id": "$LoginID",

? ? ? ? ? ? ? ? "WorkTime": {

? ? ? ? ? ? ? ? ? ? "$sum": "$WorkTime"

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? "IdleTime": {

? ? ? ? ? ? ? ? ? ? "$sum": "$IdleTime"

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? "FuelConsume": {

? ? ? ? ? ? ? ? ? ? "$sum": "$FuelConsume"

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? "IdleFuelConsume": {

? ? ? ? ? ? ? ? ? ? "$sum": "$IdleFuelConsume"

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? "ReportTime": {"$first": "$ReportTime"},

? ? ? ? ? ? ? ? "City_Code": {"$first": "$City_Code"},

? ? ? ? ? ? ? ? "City_Name": {"$first": "$City_Name"},

? ? ? ? ? ? ? ? "County_Code": {"$first": "$County_Code"},

? ? ? ? ? ? ? ? "County_Name": {"$first": "$County_Name"},

? ? ? ? ? ? ? ? "Nation_Code": {"$first": "$Nation_Code"},

? ? ? ? ? ? ? ? "Nation_Name": {"$first": "$Nation_Name"},

? ? ? ? ? ? ? ? "Province_Code": {"$first": "$Province_Code"},

? ? ? ? ? ? ? ? "Province_Name": {"$first": "$Province_Name"},

? ? ? ? ? ? ? ? "Latitude": {"$first": "$Latitude"},

? ? ? ? ? ? ? ? "Longitude": {"$first": "$Longitude"},

? ? ? ? ? ? ? ? "TotalIdleFC": {"$first": "$TotalIdleFC"},

? ? ? ? ? ? ? ? "TotalIdleTime": {"$first": "$TotalIdleTime"},

? ? ? ? ? ? ? ? "TotalWorkTime": {"$first": "$TotalWorkTime"},

? ? ? ? ? ? ? ? "TotalFC": {"$first": "$TotalFC"},

? ? ? ? ? ? ? ? "DataVersion": {"$addToSet": '$DataVersion'},

? ? ? ? ? ? ? ? "Machine_Model": {"$addToSet": '$Machine_Model'},

? ? ? ? ? ? ? ? "MachineType_Code1": {"$addToSet": '$MachineType_Code1'},

? ? ? ? ? ? ? ? "MachineType_Code2": {"$addToSet": '$MachineType_Code2'},

? ? ? ? ? ? ? ? "MachineType_Code3": {"$addToSet": '$MachineType_Code3'},

? ? ? ? ? ? ? ? "MachineType_Name1": {"$addToSet": '$MachineType_Name1'},

? ? ? ? ? ? ? ? "MachineType_Name2": {"$addToSet": '$MachineType_Name2'},

? ? ? ? ? ? ? ? "MachineType_Name3": {"$addToSet": '$MachineType_Name3'},

? ? ? ? ? ? ? ? "Serialno": {"$addToSet": '$Serialno'},

? ? ? ? ? ? ? ? "Customer_Code": {"$addToSet": '$Customer_Code'},

? ? ? ? ? ? ? ? "Customer_Name": {"$addToSet": '$Customer_Name'},

? ? ? ? ? ? ? ? "Customer_Tel": {"$addToSet": '$Customer_Tel'},

? ? ? ? ? ? ? ? "SaleDealer": {"$addToSet": '$SaleDealer'},

? ? ? ? ? ? ? ? "SaleDealer_Code": {"$addToSet": '$SaleDealer_Code'},

? ? ? ? ? ? ? ? "SvrDealer": {"$addToSet": '$SvrDealer'},

? ? ? ? ? ? ? ? "SvrDealer_Code": {"$addToSet": '$SvrDealer_Code'},

? ? ? ? ? ? ? ? "Register_Date": {"$addToSet": '$Register_Date'},

? ? ? ? ? ? ? ? "sumIsOnline": {"$sum": '$IsOnline'}

? ? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "$project":{

? ? ? ? ? ? ? ? "LoginID":"$_id",

? ? ? ? ? ? ? ? "WorkTime":"$WorkTime",

? ? ? ? ? ? ? ? "IdleTime":"$IdleTime",

? ? ? ? ? ? ? ? "FuelConsume":"$FuelConsume",

? ? ? ? ? ? ? ? "IdleFuelConsume":"$IdleFuelConsume",

? ? ? ? ? ? ? ? "City_Code":"$City_Code",

? ? ? ? ? ? ? ? "City_Name": "$City_Name",

? ? ? ? ? ? ? ? "County_Code": "$County_Code",

? ? ? ? ? ? ? ? "County_Name": "$County_Name",

? ? ? ? ? ? ? ? "Nation_Code": "$Nation_Code",

? ? ? ? ? ? ? ? "Nation_Name": "$Nation_Name",

? ? ? ? ? ? ? ? "Province_Code": "$Province_Code",

? ? ? ? ? ? ? ? "Province_Name": "$Province_Name",

? ? ? ? ? ? ? ? "Latitude": "$Latitude",

? ? ? ? ? ? ? ? "Longitude": "$Longitude",

? ? ? ? ? ? ? ? "TotalIdleFC": "$TotalIdleFC",

? ? ? ? ? ? ? ? "TotalIdleTime": "$TotalIdleTime",

? ? ? ? ? ? ? ? "TotalWorkTime": "$TotalWorkTime",

? ? ? ? ? ? ? ? "TotalFC": "$TotalFC",

? ? ? ? ? ? ? ? "DataVersion": {"$arrayElemAt":["$DataVersion",0]},

? ? ? ? ? ? ? ? "Machine_Model": {"$arrayElemAt":["$Machine_Model",0]},

? ? ? ? ? ? ? ? "MachineType_Code1": {"$arrayElemAt":["$MachineType_Code1",0]},

? ? ? ? ? ? ? ? "MachineType_Code2": {"$arrayElemAt":["$MachineType_Code2",0]},

? ? ? ? ? ? ? ? "MachineType_Code3": {"$arrayElemAt":["$MachineType_Code3",0]},

? ? ? ? ? ? ? ? "MachineType_Name1": {"$arrayElemAt":["$MachineType_Name1",0]},

? ? ? ? ? ? ? ? "MachineType_Name2": {"$arrayElemAt":["$MachineType_Name2",0]},

? ? ? ? ? ? ? ? "MachineType_Name3": {"$arrayElemAt":["$MachineType_Name3",0]},

? ? ? ? ? ? ? ? "Serialno": {"$arrayElemAt":["$Serialno",0]},

? ? ? ? ? ? ? ? "Customer_Code": {"$arrayElemAt":["$Customer_Code",0]},

? ? ? ? ? ? ? ? "Customer_Name": {"$arrayElemAt":["$Customer_Name",0]},

? ? ? ? ? ? ? ? "Customer_Tel": {"$arrayElemAt":["$Customer_Tel",0]},

? ? ? ? ? ? ? ? "SaleDealer": {"$arrayElemAt":["$SaleDealer",0]},

? ? ? ? ? ? ? ? "SaleDealer_Code": {"$arrayElemAt":["$SaleDealer_Code",0]},

? ? ? ? ? ? ? ? "SvrDealer": {"$arrayElemAt":["$SvrDealer",0]},

? ? ? ? ? ? ? ? "SvrDealer_Code": {"$arrayElemAt":["$SvrDealer_Code",0]},

? ? ? ? ? ? ? ? "Register_Date": {"$arrayElemAt":["$Register_Date",0]},

? ? ? ? ? ? ? ? "IsOnline": {"$cond": {

? ? ? ? ? ? ? ? ? ? "if":{"$gt":["$sumIsOnline",0]},"then":1,

? ? ? ? ? ? ? ? ? ? "else":0

? ? ? ? ? ? ? ? }}

? ? ? ? ? ? }

? ? ? ? }],

? ? { allowDiskUse: true }).pretty()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末七嫌,一起剝皮案震驚了整個濱河市少办,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诵原,老刑警劉巖英妓,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绍赛,居然都是意外死亡蔓纠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門吗蚌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腿倚,“玉大人,你說我怎么就攤上這事蚯妇》罅牵” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵箩言,是天一觀的道長懈叹。 經(jīng)常有香客問我,道長分扎,這世上最難降的妖魔是什么澄成? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上墨状,老公的妹妹穿的比我還像新娘卫漫。我一直安慰自己,他們只是感情好肾砂,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布列赎。 她就那樣靜靜地躺著,像睡著了一般镐确。 火紅的嫁衣襯著肌膚如雪包吝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天源葫,我揣著相機與錄音诗越,去河邊找鬼。 笑死息堂,一個胖子當著我的面吹牛嚷狞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荣堰,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼床未,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了振坚?” 一聲冷哼從身側(cè)響起薇搁,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渡八,沒想到半個月后只酥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡呀狼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年裂允,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哥艇。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡绝编,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出貌踏,到底是詐尸還是另有隱情十饥,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布祖乳,位于F島的核電站逗堵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眷昆。R本人自食惡果不足惜蜒秤,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一汁咏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧作媚,春花似錦攘滩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至女揭,卻和暖如春蚤假,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吧兔。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工磷仰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掩驱。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像冬竟,于是被迫代替她去往敵國和親欧穴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1泵殴、MongoDB概念解析: 2涮帘、數(shù)據(jù)庫: "show dbs"命令可以顯示所有數(shù)據(jù)的列表。"db"命令可以顯示當...
    妮妮愛布閱讀 577評論 0 0
  • 1 MongoDB中的基本概念及原理 1.1 MongoDB介紹 官網(wǎng)地址:https://www.mongodb...
    MiniSoulBigBang閱讀 520評論 0 0
  • find 1.基本查詢 pretty格式化輸出 db.getCollection(‘name’).find({'k...
    allenn33閱讀 206評論 0 0
  • 注:本系列教程是自己學(xué)習(xí)的記錄笑诅,內(nèi)容來至 菜鳥教程MongoDB入門教程01MongoDB入門教程02MongoD...
    StefanChoo閱讀 757評論 0 0
  • 客戶端https://robomongo.org/ 連接mongodb://[username:password@...
    加勒比兔Z閱讀 317評論 0 0