Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie zusätzliche Schlüssel, die beim Einfügen einer verschachtelten Struktur in Mongodb hinzugefügt wurden

So entfernen Sie zusätzliche Schlüssel, die beim Einfügen einer verschachtelten Struktur in Mongodb hinzugefügt wurden

王林
王林nach vorne
2024-02-09 12:06:181027Durchsuche

如何删除在 mongodb 中插入嵌套结构时添加的附加键

PHP-Editor Apple bringt Ihnen einen Artikel darüber, wie Sie zusätzliche Schlüssel entfernen, die beim Einfügen verschachtelter Strukturen in Mongodb hinzugefügt wurden. Wenn wir Mongodb zum Speichern von Daten verwenden, fügen wir der verschachtelten Struktur manchmal einige zusätzliche Schlüssel hinzu, um die Abfrage und den Betrieb zu erleichtern. Aber wie entfernen wir diese zusätzlichen Schlüssel, wenn wir sie nicht mehr benötigen? Dieser Artikel bietet Ihnen eine einfache und effektive Methode, mit der Sie die zusätzlichen Schlüssel, die beim Einfügen verschachtelter Strukturen in Mongodb hinzugefügt werden, problemlos entfernen können. Lass uns einen Blick darauf werfen!

Frageninhalt

Angenommen, dies ist meine Strukturdefinition,

type partialContent struct {
  key   string   `json:"key" bson"key"`
  value string   `json:"value" bson:"value"`
}

type content struct {
  id string `json:"id" bson:"_id,omitempty"`
  partialContent
}

Wenn Inhalt in MongoDB gespeichert wird, wird er als

gespeichert
{
  "_id": ObjectID,
  "partialcontent": {
    "key": "...",
    "value": "..."
  }
}

Aber JSON-Unmarshalling kehrt zurück

{
  "_id": ObjectID,
  "key": "...",
  "value": "..."
}

Wie entferne ich zusätzliche Schlüssel partialcontent in MongoDB?

Workaround

Zuerst müssen Sie die Strukturfelder exportieren, sonst überspringt der Treiber diese Felder.

Wenn Sie das Dokument nicht in MongoDB einbetten möchten, verwenden Sie die ,inlinebson-Tag-Option:

type PartialContent struct {
    Key   string `json:"key" bson"key"`
    Value string `json:"value" bson:"value"`
}

type Content struct {
    ID             string `json:"id" bson:"_id,omitempty"`
    PartialContent `bson:",inline"`
}

Fügen Sie diesen Wert ein:

v := Content{
    ID: "abc",
    PartialContent: PartialContent{
        Key:   "k1",
        Value: "v1",
    },
}

Dieses Dokument wird in MongoDB generiert:

{ "_id" : "abc", "key" : "k1", "value" : "v1" }

Das obige ist der detaillierte Inhalt vonSo entfernen Sie zusätzliche Schlüssel, die beim Einfügen einer verschachtelten Struktur in Mongodb hinzugefügt wurden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen