MongoDB CRUD操作(insert
、update
、find
、remove
)すべてがトップレベルのドキュメントでのみ動作しますが、もちろん、埋め込まれたドキュメントのフィールドでフィルタリングすることもできます。埋め込まれたドキュメントは常に親ドキュメント内に返されます。
_id
フィールドは親ドキュメントの必須フィールドであり、通常は不要であるか、埋め込みドキュメントに存在しません。一意の識別子が必要な場合は、確実に作成でき、_id
を使用できます。 コードまたはメンタルモデルに便利な場合にそれらを格納するフィールド。より一般的には、それらが表すものにちなんで名前が付けられます(たとえば、「username」、「otherSystemKey」など)。 MongoDB自体も、どのドライバーも自動的に_id
にデータを入力しません。 トップレベルのドキュメントを除くフィールド。
特にJavaで、_id
のObjectId値を生成する場合 埋め込まれたドキュメントのフィールドでは、次のコマンドで実行できます:
someEmbeddedDoc._id = new ObjectId();