Java 正在更新MongoDB中值加1的值
我需要更新MongoDB(终端)上的一个集合,并通过向其值添加1.5来替换集合中的一个元素。以此为例: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
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}]
}
}})