以下是按照meterId分组查询em_meter_data表的MongoDB语句:

db.em_meter_data.aggregate([
  {
    $match: {
      communityId: 46,
      meteringTime: {
        $gte: ISODate("2023-09-06T00:00:00"),
        $lte: ISODate("2023-09-06T23:59:59")
      }
    }
  },
  {
    $group: {
      _id: "$meterId",
      value: { $first: "$value" },
      value1: { $first: "$value1" },
      value2: { $first: "$value2" },
      value3: { $first: "$value3" },
      value4: { $first: "$value4" }
    }
  },
  {
    $match: {
      $or: [
        { value: { $ne: null } },
        { value1: { $ne: null } },
        { value2: { $ne: null } },
        { value3: { $ne: null } },
        { value4: { $ne: null } }
      ]
    }
  }
])

注意将em_meter_data替换为实际的集合名称。该语句首先使用$match筛选出符合条件的数据,然后使用$group按照meterId进行分组,并使用$first获取每个分组中的第一个非空值。最后,使用$match筛选出至少一个值不为空的数据

mongodb按照meterId分组查询em_meter_data表communityId=46并且meteringTime在2023-09-06 000000和2023-09-06 235959之间的数据找出valuevalue1value2value3value4其中之一不为空的数据写出语句

原文地址: http://www.cveoy.top/t/topic/i1Ai 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录