$推送(更新)MongoDB
$push (update) MongoDB
我正在尝试更新集合中的所有文档以在测量数组 (medidas) 中引入两个新元素,但仅限于带有“sensor_id: 2”的文档。
集合 db.datos_sensores2 中的文档如下:
{
"_id" : ObjectId("609c2c2d420a73728827e87f"),
"timestamp" : ISODate("2020-07-01T02:15:00Z"),
"sensor_id" : 1,
"location_id" : 1,
"medidas" : [
{
"tipo_medida" : "Temperatura",
"valor" : 14.03,
"unidad" : "ºC"
},
{
"tipo_medida" : "Humedad_relativa",
"valor" : 84.32,
"unidad" : "%"
}
]
}
{
"_id" : ObjectId("609c2c2d420a73728827e880"),
"timestamp" : ISODate("2020-07-01T02:15:00Z"),
"sensor_id" : 2,
"location_id" : 1,
"medidas" : [
{
"tipo_medida" : "Emision_CO2",
"valor" : 1.67,
"unidad" : "gCO2/m2"
},
{
"tipo_medida" : "Consumo_electrico",
"valor" : 0.00155,
"unidad" : "kWh/m2"
}
]
}
我写了这个:
db.datos_sensores2.update(
{"_id":0, "location_id":1, "sensor_id": 2},
{$push:{"$medidas":{$each:[
{"precio_kWh":0.102,"unidad":"€/kWh"},
{"superficie":450,"unidad":"m2"}]}}},{multi:true})
但是什么也没发生...
更新的第一个查询有 _id:0
并且找不到文档
更新查询中的另一件事 $medidas
不需要 $
并且出现错误
使用此更新
db.collection.update({
"location_id": 1,
"sensor_id": 2
},
{
$push: {
"medidas": {
$each: [
{
"precio_kWh": 0.102,
"unidad": "€/kWh"
},
{
"superficie": 450,
"unidad": "m2"
}
]
}
}
},
{
multi: true
})
我正在尝试更新集合中的所有文档以在测量数组 (medidas) 中引入两个新元素,但仅限于带有“sensor_id: 2”的文档。 集合 db.datos_sensores2 中的文档如下:
{
"_id" : ObjectId("609c2c2d420a73728827e87f"),
"timestamp" : ISODate("2020-07-01T02:15:00Z"),
"sensor_id" : 1,
"location_id" : 1,
"medidas" : [
{
"tipo_medida" : "Temperatura",
"valor" : 14.03,
"unidad" : "ºC"
},
{
"tipo_medida" : "Humedad_relativa",
"valor" : 84.32,
"unidad" : "%"
}
]
}
{
"_id" : ObjectId("609c2c2d420a73728827e880"),
"timestamp" : ISODate("2020-07-01T02:15:00Z"),
"sensor_id" : 2,
"location_id" : 1,
"medidas" : [
{
"tipo_medida" : "Emision_CO2",
"valor" : 1.67,
"unidad" : "gCO2/m2"
},
{
"tipo_medida" : "Consumo_electrico",
"valor" : 0.00155,
"unidad" : "kWh/m2"
}
]
}
我写了这个:
db.datos_sensores2.update(
{"_id":0, "location_id":1, "sensor_id": 2},
{$push:{"$medidas":{$each:[
{"precio_kWh":0.102,"unidad":"€/kWh"},
{"superficie":450,"unidad":"m2"}]}}},{multi:true})
但是什么也没发生...
更新的第一个查询有 _id:0
并且找不到文档
更新查询中的另一件事 $medidas
不需要 $
并且出现错误
使用此更新
db.collection.update({
"location_id": 1,
"sensor_id": 2
},
{
$push: {
"medidas": {
$each: [
{
"precio_kWh": 0.102,
"unidad": "€/kWh"
},
{
"superficie": 450,
"unidad": "m2"
}
]
}
}
},
{
multi: true
})