Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich mit Go ein Dokument anhand der _id in MongoDB?

Wie finde ich mit Go ein Dokument anhand der _id in MongoDB?

DDD
DDDOriginal
2024-10-30 15:28:03740Durchsuche

How to Find a Document by _id in MongoDB using Go?

Ein Dokument anhand der _id in MongoDB mit Go finden

So finden Sie ein Dokument anhand seines automatisch generierten _id-Felds mit dem Mongo-Go- Treiber, instanziieren Sie eine ObjectID und verwenden Sie sie als Wert für das Feld „_id“ im Abfragefilter.

Im bereitgestellten Code wird der bson.RawValue verwendet, dies ist jedoch nicht erforderlich. Verwenden Sie stattdessen primitive.ObjectIDFromHex(""), um die hexadezimale Darstellung der _id direkt zu konvertieren.

Aktualisierter Code:

<code class="go">import (
    "context"
    "go.mongodb.org/mongo-driver/bson"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "go.mongodb.org/mongo-driver/mongo/primitive"
)

func main() {
    ctx := context.Background()

    // Create a client
    client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://<host>:<port>"))
    if err != nil {
        // handle error
    }
    defer client.Disconnect(ctx)

    // Get a collection
    collection := client.Database("database").Collection("collection")

    // Parse the ObjectID from hexadecimal string
    id, err := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf")
    if err != nil {
        // handle error
    }

    // Find the document by _id
    result := collection.FindOne(ctx, bson.M{"_id": id})
}</code>

Das obige ist der detaillierte Inhalt vonWie finde ich mit Go ein Dokument anhand der _id in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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