私はMongodbを初めて使用します.2つまたは複数のコレクション間で1対1、1対多、多対多の関係を管理したいのですが、ドキュメントは管理したくありません。Javaコードでそれを処理する方法は? 現時点では例がありません。一般的な情報を取得したいだけです。どうも!!
質問する
1892 次
2 に答える
3
MongoDB はスキーマレスであるため、コレクション レベルのドキュメント間にスキーマや関係はありません。
DBRef
ただし、 sを使用して、あるコレクションの一部 (またはすべての場合) のドキュメントを別のコレクションのドキュメントにリンクできます。
> db.users.insert({_id : a, name : "Drake", age : 15})
> db.pets.insert({name : "Booch", userId : {"$ref" : "users", "$id" : a}})
> db.users.find()
{ "_id" : ObjectId("520aaf5cfbb9bb87c072aa43"), "name" : "Drake", "age" : 15 }
> db.pets.find()
{ "_id" : ObjectId("520aafecfbb9bb87c072aa44"), "name" : "Booch", "userId" : DBRef("users", ObjectId("520aaf5cfbb9bb87c072aa43")) }
ここで、userId
フィールド inpets
は挿入後に DBRef になります。
RDBMS の外部キーとは異なり、アプリケーションがエンティティをリンクするのに役立つメタデータに似ています。そして、それらをプログラムでリンクするのは開発者としてのあなたの仕事ですが、DB クエリではありません。
于 2013-08-13T22:16:53.717 に答える