Maison > développement back-end > Golang > le corps du texte

Comment supprimer les clés supplémentaires ajoutées lors de l'insertion d'une structure imbriquée dans mongodb

王林
Libérer: 2024-02-09 12:06:18
avant
1065 Les gens l'ont consulté

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

éditeur php Apple vous propose un article sur la façon de supprimer les clés supplémentaires ajoutées lors de l'insertion de structures imbriquées dans mongodb. Lorsque nous utilisons mongodb pour stocker des données, nous ajoutons parfois des clés supplémentaires à la structure imbriquée pour faciliter les requêtes et les opérations. Mais comment supprimer ces clés supplémentaires lorsque nous n’en avons plus besoin ? Cet article vous fournira une méthode simple et efficace pour vous aider à supprimer facilement les clés supplémentaires ajoutées lors de l'insertion de structures imbriquées dans mongodb. Nous allons jeter un coup d'oeil!

Contenu de la question

Supposons qu'il s'agisse de ma définition de structure,

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
}
Copier après la connexion

Lorsque content est stocké dans MongoDB, il est stocké sous

{
  "_id": ObjectID,
  "partialcontent": {
    "key": "...",
    "value": "..."
  }
}
Copier après la connexion

Mais la désorganisation JSON revient

{
  "_id": ObjectID,
  "key": "...",
  "value": "..."
}
Copier après la connexion

Comment supprimer des clés supplémentaires partialcontent dans MongoDB ?

Solution

Tout d'abord, vous devez exporter les champs de structure, sinon le pilote ignorera ces champs.

Si vous ne souhaitez pas intégrer le document dans MongoDB, utilisez l'option ,inline balise bson :

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"`
}
Copier après la connexion

Insérez cette valeur :

v := Content{
    ID: "abc",
    PartialContent: PartialContent{
        Key:   "k1",
        Value: "v1",
    },
}
Copier après la connexion

Ce document sera généré dans MongoDB :

{ "_id" : "abc", "key" : "k1", "value" : "v1" }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal