//数据库状态 默认大小byte 加上1024变kb
db.stats(1024)
//查看集合状态
db.runtimelogs.stats(1024)
创建索引
db.runtimelogs.createIndex({"status":1})
//查看查询状态
db.runtimelogs.find({status:"Success"}).explain("queryPlanner")
//按日期范围查询
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
db.runtimelogs.find({"createDate":{"$lt":ISODate("2021-11-16 21:38:09")}})
db.runtimelogs.find({"createDate":{"$gte":ISODate("2021-11-16T10:38:09Z"),"$lte":ISODate("2021-11-16T11:38:09Z")}})
//查看所有文档
db.runtimelogs.find()
//按键值查询
db.runtimelogs.find({"status":"Succ"})
//按键值查询只显示第一个文档
db.runtimelogs.findOne({"status":"Success"})
//查看记录总数
db.runtimelogs.find().count()
//查看键值查询出的总记录数
db.runtimelogs.find({"status":"Success"}).count()
//查看数量也可用length
db.runtimelogs.find({"status":"Success"}).length()
//and查询
db.runtimelogs.find({"status":"Error", "task":"欠税信息"})
//or 查询
db.runtimelogs.find({
$or: [
{"status":"Error"}, {"task":"欠税信息"}
]
})
//排序 用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列
db.runtimelogs.find().sort({createDate:-1})
db.runtimelogs.find({"status":"Error"}).sort({createDate:-1})
//修改数据 把查询带有doc1的属性的文档用doc2替代 全覆盖字段也会更新
db.runtimelogs.update({status:"Success"}, {status2:"Success"})
//只修改属性 不会全覆盖 一次只修改一条
db.runtimelogs.update({status:"Success"},{$set:{status:"Succ"}})
// 修改全部数据 后边加上{multi: true}即可
db.runtimelogs.update({'status': 'Success',
'state': '1'
}, {$set: {'state': '2'}}, {multi: true});
//删除数据 remove(doc,true) 第二个参数传入true,则只删除一个 不写全删
db.runtimelogs.remove({"status":"Succ"})
//删除一条
db.runtimelogs.deleteOne({"status":"Succ"})
//插入文档
db.runtimelogs.insertOne({
"status": "Success",
"task": "欠税信息",
"description": "更新完成",
"createDate": ISODate("2021-11-17T10:26:35.268Z"),
"_class": "com.micro.service.datacollection.model.RuntimeLogs"
})
//聚合查询 类似group by $sum计算总和 _id,count 要显示的字段名 $status 要分组的字段
db.runtimelogs.aggregate({ $group : {_id : "$status", count:{$sum: 1}}})
//按数据类型查找
db.runtimelogs.find({"createDate":{$type:9}})
//读取指定数量的数据记录
db.runtimelogs.find().limit(10)
db.runtimelogs.find().sort({createDate:1}).limit(10)
//通过id来删除和修改数据
//通过id查询
db.runtimelogs.find({"_id": ObjectId("646dd6cb8503fb2455f640c4")});
// 删除此sn码里的一个节点 就是通过id删除条数据
db.runtimelogs.deleteOne({"_id": ObjectId("64726fd641a24170210c8cc7")})
// 修改节点内数据 注意 此命令是修改一条数据的全部字段 不是某个字段 小心覆盖掉其他字段 需要把这个节点数据全部复制出来 在修改某一个内容 在全部更新回去
db.runtimelogs.update({"_id": ObjectId("646dd6cb8503fb2455f640c4")},{
serialNumberID: "2103050GVPZEP3000110",
itemSerialNumber: "2103050GVPZEP3000110",
type: "转移",
billNo: "2103050GVPZEP3000110",
date: ISODate("2023-05-24T09:20:11.489Z"),
nodeList: {
"转移时间": "2023-05-24 17:20:10",
"接收人": "刘学磊",
"发起人": "高伟"
},
itemAlllNum: "1",
createDate: ISODate("2023-05-24T09:20:11.489Z")
})
// 只修改一条数据的一个字段 加$set关键字 其他字段不会改动
db.runtimelogs.update({"_id": ObjectId("628f19f81104643a06101235")},{$set:{operationContent:"newData"}})