Java 正在更新MongoDB中值加1的值

Java 正在更新MongoDB中值加1的值,java,mongodb,Java,Mongodb,我需要更新MongoDB(终端)上的一个集合,并通过向其值添加1.5来替换集合中的一个元素。以此为例: db.sensores.insert( { "timestamp":"2020-05-25T10:30:00Z", "sensor_id":1, "location_id":1, "Ubicacion":"Valladolid

我需要更新MongoDB(终端)上的一个集合,并通过向其值添加1.5来替换集合中的一个元素。以此为例:

   db.sensores.insert(
   {
      "timestamp":"2020-05-25T10:30:00Z",
      "sensor_id":1,
      "location_id":1,
      "Ubicacion":"Valladolid",
      "Coordenadas":"41.638597, 4.740186",
      "Medidas":[
         {
            "tipo_medida":"Temperatura",
            "valor":22.08,
            "unidad":"ºC"
         },
         {
            "tipo_medida":"Humedad_relativa",
            "valor":34.92,
            "unidad":"%"
         }
      ]
   },
   {
      "timestamp":"2020-05-28T11:30:00Z",
      "sensor_id":1,
      "location_id":2,
      "Ubicacion":"Sevilla",
      "Coordenadas":"37.409311, -5.949939",
      "Medidas":[
         {
            "tipo_medida":"Temperatura",
            "valor":21.12,
            "unidad":"ºC"
         },
         {
            "tipo_medida":"Humedad_relativa",
            "valor":37.7,
            "unidad":"%"
         }
      ]
   },
   {
      "timestamp":"2020-05-28T1:30:00Z",
      "sensor_id":2,
      "location_id":2,
      "Ubicacion":"Sevilla",
      "Coordenadas":"37.409311, -5.949939",
      "medidas":[
         {
            "tipo_medida":"Emision_CO2",
            "valor":2.102,
            "unidad":"gCO2/m2"
         },
         {
            "tipo_medida":"Consumo_electrico",
            "valor":0.00272,
            "unidad":"kWh/m2"
         }
      ]
   },
   {
      "timestamp":"2020-05-25T10:30:00Z",
      "sensor_id":2,
      "location_id":1,
      "Ubicacion":"Valladolid",
      "Coordenadas":"41.638597, 4.740186",
      "medidas":[
         {
            "tipo_medida":"Emision_CO2",
            "valor":1.626,
            "unidad":"gCO2/m2"
         },
         {
            "tipo_medida":"Consumo_electrico",
            "valor":0.00146,
            "unidad":"kWh/m2"
         }
      ]
   }
)
在“传感器id”:1和“位置id”:2下有一个表示温度的值(medidas>tipo\u medida>temperatura>值)。我需要为所有这些值添加1.5,这是我尝试过的:

--备选案文1:

--备选案文2:

我得到了两个相同的错误:未捕获异常:引用错误:未定义值:@(shell):7:20


有人能帮我吗?谢谢。

这里有一个来自MongoDB手册的示例:我必须在数组中手动包含每个ObjectID,对吗?在这种情况下,这不会有帮助,因为我有成千上万个对象。“我必须手动将每个ObjectID包含在数组中,对吗?”我不知道你为什么要在数组中包含ObjectId,你的帖子中没有提到数组中的ObjectId。但是如果你给我发送的链接是通过id完成的,那么这个例子是:“{{u id:1,“grades:[85,82,80]}{{u id:2,“grades:[88,90,92]}{{u id:3,“grades:[85,100,90]}”您将查找标题为“更新数组中的所有文档”的示例。这与你的情况有关。
    db.datos_sensores.update(
   {sensor_id: 2 }, 
   {location_id: 1 },
   { $set:
      {
        "medidas": "tipo_medida",
        details: { "temperatura": value, make: value+1 },
      }
   }
)
 db.datos_sensores.update({"sensor_id":2, "location_id":1}},
  {$push:{"medidas":{
    $each:[
      {"tipo_medida":"temperatura","valor":+1}]
  }
 }})