ich eine harte Zeit hatte, als versuchte Feldwert mit vielfältigen Schlüssel, in einem Objekt, beispielsweise abzurufen:MongoDB: Abfragewert mit vielfältigen Schlüssel, in einem Objekt
Laufender Befehl:
db.stuff.find()
geben:
{
"_id":ObjectId("5963e65f948dc563d6375f7b"),
"color_map":{
"APPLE":"red",
"BANANA":"yellow",
"SKY":"blue"
},
"type":"APPLE"
}
{
"_id":ObjectId("5963e65f948dc563d6375f77"),
"color_map":{
"BANANA":"yellow",
"PEACH":"pink",
"SKY":"blue"
},
"type":"PEACH"
}
die Frage ist also, wie die Farbergebnisse reinen MongoDB Operatoren zu erhalten (wird mit Aggregat Betreiber bevorzugen), das folgende Ergebnis zu erhalten:
{
"_id":ObjectId("5963e65f948dc563d6375f7b"),
"type":"APPLE",
"color":"red"
}
{
"_id":ObjectId("5963e65f948dc563d6375f77"),
"type":"PEACH",
"color":"pink"
}
Follow-up: Die mongoDB Version ist 3.2.9 und Upgrade auf die neueste Version werden andere Komponenten zum Absturz bringen, so könnten wir es implementieren, ohne $ objectToArray mit (neu in 3.4.4)?
Scheint, wie Art eine seltsame Art und Weise diese Informationen zu speichern. Sind Sie sicher, dass dies der beste Weg für Ihre Bedürfnisse ist? –