0

私はmpngodbの初心者です。

私は2つのコレクションを持っています。

 Tenant
 {
 Tenant_ID:123, Tenant_Info:new
 Tenant_ID:456, Tenant_Info:old
 }

 System
 {
  System_ID:768, Tenant_ID:123,System_Info:"check"
 }

テナント コレクション Tenant_ID をシステム コレクション Tenant_ID で参照する必要があります。

この関係を実現するためにmongodbのDBREF Javaコードを手伝ってくれる人はいますか?

4

2 に答える 2

1

データベース参照 (DBRef)は慣例により使用されます。これらは、MongoDB サーバーでサポートされている機能に対応していません。

ドキュメントに別のコレクションへの参照を保存する場合は、いくつかの方法があります。

1)他のコレクションの関連するキーを保存するだけです(あなたの例でTenant_IDは、関連するテナントドキュメントの をシステムコレクションのドキュメントのフィールドとして保存したいと考えています)。

2) DBRef クラスを使用してオブジェクトへの参照を作成し、[fetch()](http://api.mongodb.org/java/current/com/mongodb/DBRef.html#fetch(com.mongodb.DB) 、com.mongodb.DBObject)) 参照されたオブジェクト。

あなたの例に基づいて、最初の使用法がより適切であるように見えます - あなたは文書にTenant_IDフィールドを保存しているようです。Systemこの場合、システム ドキュメントをロードし、findOne()を使用して、Tenant_ID に基づいて関連するテナント ドキュメントを取得できます (Tenant_ID がテナントを一意に識別すると仮定します)。

于 2012-09-07T06:15:13.947 に答える
0

Spring Data MongoDBを見てください。

于 2015-12-18T05:17:32.710 に答える