mongodb基本操作

//数据库状态 默认大小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"}})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值