MongoDBはFOREIGN KEYをサポートしていません。 JOINSを避けるために使用します。
MongoDBは、サーバー側の外部キー関係をサポートしていません。
マニュアルの参照あなたが参照として別の文書内の1つの文書の_idフィールドを保存します。しかし、いくつかの回は、私たちはそうMongoDBのアプリケーションが文書を関連付けるための2つの方法のいずれかを使用して関連付ける必要があります。次に、アプリケーションは2番目のクエリを実行して関連するデータを返します。これらの参照は、ほとんどの使用例では単純で十分です。
DBREFSは、最初の文書の_idフィールドの値が、コレクション名、および、必要に応じて、そのデータベース名を使用して別の文書から参照されています。これらの名前を含めることで、複数のコレクションにあるドキュメントを単一のコレクションからのドキュメントに簡単にリンクすることができます。DBはオブジェクトを読み取るために追加のクエリを作成する必要があるため、それでも手動で参照を処理する必要があります。 DBRefを参照している間だけ、存在するかどうかがわかります。参照の対象がそれ以上存在しない場合、DBはすべての文書を参照して参照を探して削除しません。しかし、私は本を削除した後にすべての参照を削除すると、コレクションごとに単一のクエリが必要になると思います。
詳細については、Database Referencesを参照してください。
このタスクをどのように解決できますか?
明らかに、MongoDBはリレーショナルではありません。標準的な「標準形式」はありません。格納するデータと実行するクエリに合わせてデータベースをモデル化する必要があります。 EX-
student
{
_id: ObjectId(...),
name: 'Jane',
courses: [
{ course: 'bio101', mark: 85 },
{ course: 'chem101', mark: 89 }
]
}
course
{
_id: 'bio101',
name: 'Biology 101',
description: 'Introduction to biology'
}
については はMongoDBのはNoSQLのではありませんので、何も加わり、この
student
{
_id: ObjectId(...),
name: 'Jane',
courses: [
{
name: 'Biology 101',
mark: 85,
id:bio101
},
]
}
シナリオに[nosql](http://stackoverflow.com/questions/2875432/use-cases-for-nosql)を使用してもよろしいですか? – Pio
私はできるだけpocをやっているだけです。 – rahul