Collection.FindId()
を使用します 次に、id値のみを渡すか、Collection.Find()
を使用します 次に、フィールド名でも値を指定する必要があります:
err2 := c.FindId(bson.ObjectIdHex("58593d1d6aace357b32bb3a1")).One(&data)
// OR
err2 := c.Find(bson.M{"_id": bson.ObjectIdHex("58593d1d6aace357b32bb3a1")}).
One(&data)
エラーが発生しない場合は、ドキュメントが見つかったことを意味します。
常に0
が表示される場合 印刷(id_cookie.IdCookie
の値として) フィールド)、つまり、このIDを保持するドキュメント内のフィールドの名前が異なります。
structタグを使用して、MongoDBにどのように格納されているかを示します。例えば。 MongoDBで"myid"
と呼ばれている場合 、次のようにマッピングできます:
type id_cookie struct {
IdCookie int `bson:"myid"`
}
また、データをクエリするたびにMongoDBサーバーに接続するのではなく、一度接続してセッションを再利用する必要があることにも注意してください。詳細については、mgoを参照してください-クエリのパフォーマンスは一貫して遅いようです(500-650ms)