Heim >Backend-Entwicklung >Golang >Wie filtere ich bestimmte Felder aus MongoDB-Dokumenten mit dem Mongo-Go-Treiber?
Felder aus MongoDB-Dokumenten mit Mongo-Go-Driver filtern
Um bestimmte Felder aus einem MongoDB-Dokument mit Mongodb-Go-Driver zu filtern, Die Option findopt.Projection kann verwendet werden. In Ihrem bereitgestellten Code tritt das Problem jedoch auf, weil das Feld _id in der Feldstruktur nicht exportiert wurde (beginnend mit einem Kleinbuchstaben).
Überarbeitete Lösung:
Um dieses Problem zu beheben, sollte der Feldname exportiert werden (beginnend mit einem Großbuchstaben) und Struktur-Tags verwenden, um ihn dem MongoDB-_id-Feld zuzuordnen. Der aktualisierte Code:
type fields struct { ID int `bson:"_id"` }
Projektion mit der Projektionsoption:
Um eine Abfrage mit Projektion durchzuführen, verwenden Sie die Methode „options.FindOne().SetProjection(projection)“. , wobei die Projektion die gewünschten abzurufenden Felder darstellt.
Aktualisiert Code:
projection := fields{ ID: 0, } result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Alternative Verwendung von bson.Document:
Alternativ kann ein bson.Document als Projektion verwendet werden:
projection := bson.NewDocument( bson.EC.Int32("_id", 0), ) result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Mit diesen Ansätzen können Sie bestimmte Felder aus MongoDB-Dokumenten filtern und unnötige Felder wie _id if unterdrücken gewünscht.
Das obige ist der detaillierte Inhalt vonWie filtere ich bestimmte Felder aus MongoDB-Dokumenten mit dem Mongo-Go-Treiber?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!