2016-10-14 3 views
0

- のMongoDBアプリケーション: 最初の連絡で、次のようになります。春データとのMongoDB - 文書の双方向接続、私は私の春のデータに2つのドキュメントを持って

public class Contact { 

    ... 
    private List<Account> accounts; 

を2つ目のアカウントとルックスですこのように:

public class Account { 

    ... 
    private Contact contact; 

私の質問は今のより良い方法があるかどうか、次のとおりです。

1. create contact object 
2. save contact object into database 
3. create account object 
4. set contact object into account object 
5. save account object into database 
6. set created account object into contact object 
7. update contact object 

これは多くの手順であり、連絡先とアカウントを双方向に接続するために長いリストを作成することは避けます。

答えて

0

MongoDBは、このアプローチをとることは、作成し、店舗連絡先オブジェクト、次いでシーケンシャルな方法でこれ以上行うとして保存されるための必要はありませんしたがってNOSQL DBであり。

連絡先および勘定科目のシーケンスを更新します。これらの2つのレコードを保存する前に、シーケンス内の次の番号を取得し、連絡先および勘定科目文書を挿入します。自動インクリメント・シーケンスのための

参照

https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/ https://www.tutorialspoint.com/mongodb/mongodb_autoincrement_sequence.htm

擬似コード:

Get the next Sequence of Contact and Account Id 
Add the id's to respective documents 
Insert the Documents in Mongodb 

左外部結合であるあなたが$lookupを使用することができ、レコードを取得中。

1つの挿入が正常に行われ、何らかの理由で他の挿入が行われなかった場合、データの整合性が失われる可能性があります。 Mongodbでは、コレクション間でトランザクションのサポートはありません。more info

関連する問題