mgo を使用した ID によるドキュメントの検索
質問:
以下のコード例、MongoDB コレクションに存在することがわかっているレコードは、FindId メソッドを使用して見つけることができません。コードは代わりにゼロ値を返します。問題は何ですか?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
答え:
問題は FindId のメソッド シグネチャにあります。これは引数として ID のみを受け取りますが、Find ではフィールド名も指定されたマップが必要です。これを修正するには、次のコードを使用します。
1 2 3 4 |
|
エラーが発生しない場合、ドキュメントは正常に見つかりました。 IdCookie フィールドがまだゼロの場合は、MongoDB に別の名前で保存されている可能性があります。構造体タグを使用して正しくマッピングします。
1 2 3 |
|
さらに、クエリごとに新しい接続を作成するのではなく、MongoDB への単一の接続を確立して再利用することをお勧めします。クエリ パフォーマンスの最適化の詳細については、リンクされた説明を参照してください。
以上が「mgo.FindId」が MongoDB ドキュメントを見つけられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。