0

MongoDB で祖先のツリーを設計する方法について質問があります。

たとえば、これがある場合:

{ "_id" : "ACL", "ancestors" : [ ], "parent" : null }
{ "_id" : "apps", "ancestors" : [ "ACL" ], "parent" : "ACL" }
{ "_id" : "3222", "ancestors" : [ "ACL", "apps" ], "parent" : "apps" }
{ "_id" : "1223", "ancestors" : [ "ACL", "apps" ], "parent" : "apps" }

これは、このようなツリーがあることを意味します

       ACL      
        |       
      Apps      
     /    \     
   3222  1223   

各ノードの下に「ユーザー」のノードが必要です。ただし、_id は UNIQUE でなければならないため、そうすることができません。

       ACL      
        |       
      Apps      
     /    \     
   3222  1223   
  /         \   
users      users

これをどのように回避しますか?

編集: ここで MongoDB のモデル ツリー情報を読みました: http://docs.mongodb.org/manual/tutorial/model-tree-structures/

4

1 に答える 1

1

「_id」を一意のツリーノードとして使用しない限り、このスキーマを考慮することができます。

{ "_id" : ["unique guid":xxx, "tree node": "users"], "ancestors" : [ ], "parent" : null }
{ "_id" : ["unique guid":xxx, "tree node": "users"], "ancestors" : [ "ACL" ], "parent" : "ACL" }
于 2013-08-23T09:39:53.657 に答える