web-dev-qa-db-ja.com

mongooseのidと_idの違いは何ですか?

違いは何ですか _ididはマングースですか?どちらを参照するのが良いですか?

43
Ari Porad

ドキュメント から:

Mongooseは、デフォルトでidの仮想getterを各スキーマに割り当てます。これは、文字列、またはObjectIdの場合はhexStringにキャストされたドキュメント_idフィールドを返します。

したがって、基本的に、idゲッターはドキュメントの_idの文字列表現を返します(これはデフォルトですべてのMongoDBドキュメントに追加され、デフォルトのタイプはObjectIdです)。

参照するのが良いことに関しては、それは完全にコンテキストに依存します(つまり、ObjectIdまたはstringが必要ですか)。たとえば、idを比較する場合、ObjectIdは同じインスタンスでない限り(それらが表す値に関係なく)同等性テストに合格しないため、おそらく文字列の方が優れています。

71
jmar777