首頁 >後端開發 >Golang >如何使用 mongo-go-driver 透過 _id 檢索文件?

如何使用 mongo-go-driver 透過 _id 檢索文件?

Linda Hamilton
Linda Hamilton原創
2024-10-31 11:37:02783瀏覽

How to Retrieve a Document by _id Using mongo-go-driver?

使用 mongo-go-driver 透過 _id 尋找文件

嘗試透過 _id 欄位擷取文件時,您可能會遇到傳回值為空的。一個潛在的原因是對 _id 的 ObjectID 類型的處理不正確。

回應概述

在提供的程式碼片段中,_id 使用 bson.RawValue 表示,這是用於保存 BSON 的通用類型沒有任何具體解釋的資料。但是,mongo-go-driver 在透過 _id 搜尋時需要一個 ObjectID。

解決方案

要解決此問題,您可以使用 Primitive.ObjectIDFromHex 將 _id 字串轉換為 ObjectID。這是一個範例:

<code class="go">import (
    "github.com/mongodb/mongo-go-driver/bson"
    "github.com/mongodb/mongo-go-driver/mongo"
)

// ...

objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf")
value := collection.FindOne(ctx, bson.M{"_id": objID})</code>

這應該傳回具有指定 _id 的所需文件。

以上是如何使用 mongo-go-driver 透過 _id 檢索文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn