Heim > Backend-Entwicklung > Golang > Wie filtere ich bestimmte Felder aus MongoDB-Dokumenten mit dem Mongo-Go-Treiber?

Wie filtere ich bestimmte Felder aus MongoDB-Dokumenten mit dem Mongo-Go-Treiber?

Susan Sarandon
Freigeben: 2024-12-19 03:55:12
Original
971 Leute haben es durchsucht

How to Filter Specific Fields from MongoDB Documents using the Mongo-Go-Driver?

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"`
}
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage