有人可以帮我这个,我不能改变mongodb的一些值。
这是“结构”:
'nombreLinea': nombreLinea,
'barra':
{ 'nombre':
{
'nombre_PLP': nombreBarraPLP,
'nombre_PET': nombreBarraPET,
'nombre_OSE': nombreBarraOSE,
}
},
'generador':
[{
'nombre':
{
'nombre_PLP': nombreGeneradorPLP,
'nombre_PET': nombreGeneradorPET,
'nombre_OSE': nombreGeneradorOSE,
}
}]
我想做的是:
def actualizarMongo(nombreLineaa, nombreBarraPLP, nombreGeneradorPET, nombreBarraPLPGen):
if nombreBarraPLP == nombreBarraPLPGen:
db.linea.update(
{
"nombreLinea": nombreLineaa,
"barra.nombre.nombreBarraPLP": nombreBarraPLPGen
},
{'$set': {
"generador.nombre.nombre_PET": nombreGeneradorPET
}})
谢谢!
答案 0 :(得分:0)
您的查询"barra.nombre.nombreBarraPLP"
的这一部分与您的文档结构不符。
另外,根据结构,generador
是一个文档数组,因此您需要在更新中包含数组元素:
{'$set':{"generador.0.nombre.nombre_PET": nombreGeneradorPET }
答案 1 :(得分:0)
这部分代码不合适:
{'$set':{"generador.nombre.nombre_PET": nombreGeneradorPET }}
这是一个实际上在数组中的文档。所以请尝试阅读本文档:update document in an array
希望它可以帮助你。