Ich habe eine ziemlich komplexe Flask-Website mit vielen DB-Interaktionen, die aber mit einer scheinbar einfachen Löschfunktion stecken geblieben sind! Ich versuche, unter Verwendung von MongoEngineMongoEngine dict key aus Objektfeld löschen
{
"_id" : "12345",
"sensordict" : {
"56" : {
"currentval" : 1.2,
"devicetype" : NumberInt(2)
},
"70" : {
"currentval" : 31.0,
"devicetype" : NumberInt(2)
}
},
"siteserial" : "45678",
"status" : NumberInt(1)
}
-Code Schlüssel 56 von sensordict in der (vereinfacht) siteconfig Dokument zu löschen versucht, unter dem '56' SensorID =:
def delete_sensor(siteconfig, sensorid):
dbsite = SiteConfig.objects(id=siteconfig.id).first()
dbsite.update(unset__sensordict__S=sensorid)
dbsite.save()
Der Code an die versagt update with mongoengine.errors.OperationError: Aktualisierung fehlgeschlagen (Der positionelle Operator hat die von der Abfrage benötigte Übereinstimmung nicht gefunden. Unerweiterte Aktualisierung: sensordict. $)
Ich vermute, dass dies ein einfacher ist, aber weit weg vom Kaninchenloch Für ein paar Stunden auf dieser und jede Hilfe viel Dank Bill