我在 mongodb shell 中使用 mul 运算符时出错
I got an error using mul operator in mongodb shell
我正在尝试乘以 1.2 的值,但显示错误,您能帮我找到问题并解决问题吗:
接下来是合集:
db.test_sensores.find({'sensor_id':1,'location_id':2}).sort({'medidas.0.valor':1})
{ "_id" : ObjectId("6292434a995b9a2a8133ca64"), "timestamp" : "2020-07-01T00:15:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 21.12, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 37.7, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca62"), "timestamp" : "2020-07-01T00:00:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 22.08, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 34.92, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca66"), "timestamp" : "2020-07-10T00:30:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 24.26, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 52.52, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca68"), "timestamp" : "2020-07-01T00:45:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 24.51, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 34.1, "unidad" : "%" } ] }
这就是我想要做的:
db.test_sensores.update({'ObjectId':'6292434a995b9a2a8133ca64'},{$mul:{medidas.0.valor:1.2}})
uncaught exception: SyntaxError: missing : after property id :
@(shell):1:78
我发现我缺少标记引号并且我的 objectid 在 _id 中,所以用这种方式替换那个值我解决了这个问题,但可能是另一种方式或者我提供的解决方案不是一个好的做法?:
db.test_sensores.update({'_id':ObjectId("6292434a995b9a2a8133ca64")},{$mul:{'medidas.0.valor':1.2}})
我正在尝试乘以 1.2 的值,但显示错误,您能帮我找到问题并解决问题吗:
接下来是合集:
db.test_sensores.find({'sensor_id':1,'location_id':2}).sort({'medidas.0.valor':1})
{ "_id" : ObjectId("6292434a995b9a2a8133ca64"), "timestamp" : "2020-07-01T00:15:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 21.12, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 37.7, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca62"), "timestamp" : "2020-07-01T00:00:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 22.08, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 34.92, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca66"), "timestamp" : "2020-07-10T00:30:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 24.26, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 52.52, "unidad" : "%" } ] }
{ "_id" : ObjectId("6292434a995b9a2a8133ca68"), "timestamp" : "2020-07-01T00:45:00Z", "sensor_id" : 1, "location_id" : 2, "medidas" : [ { "tipo_medida" : "Temperatura", "valor" : 24.51, "unidad" : "ºC" }, { "tipo_medida" : "Humedad_relativa", "valor" : 34.1, "unidad" : "%" } ] }
这就是我想要做的:
db.test_sensores.update({'ObjectId':'6292434a995b9a2a8133ca64'},{$mul:{medidas.0.valor:1.2}})
uncaught exception: SyntaxError: missing : after property id :
@(shell):1:78
我发现我缺少标记引号并且我的 objectid 在 _id 中,所以用这种方式替换那个值我解决了这个问题,但可能是另一种方式或者我提供的解决方案不是一个好的做法?:
db.test_sensores.update({'_id':ObjectId("6292434a995b9a2a8133ca64")},{$mul:{'medidas.0.valor':1.2}})