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()