mongo

查询

db.getCollection('HistoryData').find({"deviceId":201,"dictValue":8007,"createTime":{"$gte":ISODate("2023-10-09T09:38:00.046+08:00"),"$lte":ISODate("2023-10-09T09:46:00.046+08:00")}}).sort({"createTime":1})

聚合

db.getCollection('HistoryData').aggregate([
  {
    $match: {
      "deviceId":201,
      "dictValue":8007,
      "createTime":{"$gte":ISODate("2023-10-09T02:00:00.046+08:00"),"$lte":ISODate("2023-10-09T10:00:00.046+08:00")}
    }
  }, 
  {
    $group: {
      _id: null,
      maxQty: { $max: {
        $toDouble: "$dataValue"
      }   
      },
    },
  },
  {
    $project: {
      _id: 0      
    },
  },
 
])
 

Mongo通常指MongoDB,它是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ### Mongo shell操作原生方法 Mongo shell提供了一系列原生方法,例如`Date()`、`UUID(hex_string)`、`Mongo.getDB(database)`、`Mongo(host:port)`、`connect(string)`、`cat(path)`、`version()`、`cd(path)`、`getMemInfo()`、`hostname()`、`load(path)`、`_rand()`等[^1]。 ### Mongo命令 #### 数据库操作 - 查看数据库:使用`show`命令。 - 进入/创建数据库:使用`use`命令。 - 查看当前所在数据库:使用`db`命令。 - 删除数据库:使用`dropDatabase`命令[^1]。 #### 集合操作 - 创建集合:使用`createCollection`方法。 - 查看集合:使用`show`命令。 - 删除集合:文档中未详细说明具体命令,但有相关操作分类提及[^1]。 #### 文档操作 - 插入文档:使用`insert`方法。 - 查询文档:使用`find`方法,还可结合映射方法、操作符(比较操作符、类型操作符)进行更复杂的查询。 - 更新文档:使用`update`方法,配合更新操作符,如`$inc`(增加)、`$set`(设置)、`$unset`(删除)、`$push`(追加)、`pushAll`(追加)、`$addToSet`(增加)、`$pop`(删除)、`$pull`(删除)、`$pullAll`(删除)、`$rename`(重命名)等。 - 删除文档:使用`remove`方法[^1]。 ### 数据类型注意事项 Mongo默认的数字类型是double,若要使用整数,需使用`NumberInt(1)`这种形式,例如`db.user.insert( { age:NumberInt(1) } )`,这样`age`的值才是整数[^2]。 ### 配置文件 在`conf`子目录新建`mongod.conf`文件可进行MongoDB的配置,例如设置数据存储目录`dbpath=/data/db`、日志存储文件、日志追加模式、允许客户端任意IP连接、绑定端口、副本集名称等[^3]。 ### 索引查看 类似于MySQL,Mongo也有`explain`方法,可查看索引的使用情况。例如`db.users.find({"name": "user100"}).explain()`能查看是否使用了索引,以及其他详细信息,包括使用的索引、扫描的文档数据、结果的数量、查询用时等[^4]。 ### 代码示例 以下是一个简单的MongoDB插入文档的Python代码示例: ```python from pymongo import MongoClient # 连接到MongoDB client = MongoClient('mongodb://localhost:27017/') # 选择数据库 db = client['test_database'] # 选择集合 collection = db['test_collection'] # 插入文档 document = {"name": "John", "age": 30} result = collection.insert_one(document) print(f"Inserted document with ID: {result.inserted_id}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值