1

私はmongodbの初心者です。主キーと外部キーの概念を使用して、relationaldbのような2つのコレクションをリンクする必要があります。

私はmongodbが結合をサポートしていないことを知っています。

comments
 { uid:12345, pid:444, comment="blah" }
 { uid:12345, pid:888, comment="asdf" }
 { uid:99999, pid:444, comment="qwer" }

users
 { uid:12345, name:"john" }
 { uid:99999, name:"mia"  }

コメントコレクションでは、uid->主キー、ユーザーでは、uid->外部キー。

コレクションを挿入しながらmongodbでこの関係に対処する方法は?それを参照する方法は?

そのためのmongodbコマンドを送っていただけませんか。

4

1 に答える 1

1

MongoDBを使用する際の一般的な初心者のエラーは、それをリレーショナルデータベースであるかのように扱うことです。

すべてのドキュメントには自動的に_idフィールド(GUID)があるため、通常、MongoDBに独自のIDは必要ありません。

MongoDB内の別のエンティティを参照するには、DBRefオブジェクトを使用できます。したがって、すべてのコメントドキュメントには、usersコレクション内のドキュメントへのDBRefであるフィールド「author」が必要です。または、参照するオブジェクトのGUIDを「作成者」の値として使用することもできます。

詳細については、 http://docs.mongodb.org/manual/applications/database-references/を参照してください。

ドキュメントとそれが参照するドキュメントをまとめることについて:ドキュメントをロードするときに、アプリケーションレベルでそれを行う必要があります。MongoDB JavaドライバーのDBRefクラスには、参照するドキュメントを自動的にフェッチするfetch()メソッドがあります。これにより、これを実装するのは非常に簡単になります。

于 2012-08-30T13:04:34.250 に答える