Ich entwickle dieses Stück Software in Knoten und MongoDB, in dem ich möchte im Wesentlichen mit der folgenden Struktur Versionen von Paketen speichern:Wie gehe ich mit Punkten in MongoDB-Schlüsseln um?
{
"versions":
{
"1.2.3": { stuff }
}
}
(ähnlich, wie npm tut Dinge in der Couch)
Das Problem ist, dass bei der Aktualisierung von MongoDB festgestellt wurde, dass Punkte in Schlüsselnamen (aufgrund der vorhandenen Punktnotation) nicht zulässig sind, wodurch mein Code fehlschlägt. Nach der Untersuchung, alles, was ich finden konnte, ist, dass Sie die Punkte in ein anderes Zeichen vor dem Speichern in der db transformieren müssen, dann transformieren Sie sie wieder beim Zugriff. Gibt es wirklich keinen besseren Weg, damit umzugehen?
Wenn nicht, wie kann ich diese Umwandlung tun, ohne die Daten auf einen anderen Schlüssel zu kopieren und das Original zu löschen?
Sie sagen, Sie haben bereits solche Daten in Mongo? Das hätte nicht einmal vor dem Update möglich sein sollen. Welche Version hast du benutzt? – Thilo
@Thilo Ich erinnere mich nicht wirklich, aber es könnte der Fahrer gewesen sein, der fehlerhaft war und es erlaubte. – jli
@ c0deNinja Es erlaubt mir, nach dem Versionsnamen zu suchen, ohne das ganze Array von möglicherweise sehr vielen Versionen zu durchlaufen. – jli