


Wie finde ich ein Dokument anhand der _id mithilfe von bson.RawValue im Mongo-Go-Treiber?
Oct 31, 2024 pm 06:10 PMEin Dokument anhand der _id mithilfe von mongo-go-driver finden
In mongo-go-driver können Sie ein Dokument anhand seines automatisch generierten _id-Felds finden. Es kann jedoch ein Problem auftreten, wenn das _id-Feld als bson.RawValue bereitgestellt wird.
Verwendung von bson.RawValue für _id
Das bereitgestellte Code-Snippet versucht, ein Dokument mithilfe eines bson.RawValue zu finden Objekt, aber es gibt nichts zurück. Um dies zu beheben, konvertieren Sie den RawValue mithilfe von primitive.ObjectIDFromHex in eine ObjectID.
<code class="go">import ( "context" "encoding/hex" "encoding/json" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/bsoncodec" "go.mongodb.org/mongo-driver/bson/bsonprimitive" "go.mongodb.org/mongo-driver/mongo" ) func findDocumentByID(collection *mongo.Collection, ctx context.Context, id string) (*bson.Raw, error) { objID, err := bsonprimitive.ObjectIDFromHex(id) if err != nil { return nil, err } value := collection.FindOne(ctx, bson.M{"_id": objID}) return value.DecodeBytes() }</code>
Beispielverwendung
Betrachten Sie das folgende Dokument in Ihrer MongoDB-Datenbank:
<code class="json">{ "_id": "5c7452c7aeb4c97e0cdb75bf", "name": "John Doe", "age": 30 }</code>
Um dieses Dokument mit der obigen Funktion zu finden, geben Sie die _id als Zeichenfolge an:
<code class="go">id := "5c7452c7aeb4c97e0cdb75bf" value, err := findDocumentByID(collection, ctx, id) if err != nil { return nil, err }</code>
Die Wertvariable enthält nun die dekodierten Bytes des gefundenen Dokuments.
Das obige ist der detaillierte Inhalt vonWie finde ich ein Dokument anhand der _id mithilfe von bson.RawValue im Mongo-Go-Treiber?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Linter und statische Analyse -Tools verwenden, um die Qualität und Wartbarkeit meines GO -Codes zu verbessern?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?
