質問

現在、次のように格納されているチャンネルコレクションを持っています。

{ "_id" : ObjectId("4f5d1012d48147e840000000"), "title" : "Testing", "description" : "hello!", "created" : "2012-03-11 20:50:26", "user" : ObjectId("4f5d0408d48147207f000000") }
.

しかし、私は今このチャンネルを購読できるようになりました。私はそれを次のように保存したいので、それを自分のコレクションと見なすのに十分なことを考えることはありません:

{ 
    "_id" : ObjectId("4f5d1012d48147e840000000"), 
    "title" : "Testing", 
    "description" : "hello!",
    "subscriptions" : 
        { "user" : ObjectId("USERIDHERE"), "created" : DATETIME },
        { "user" : ObjectId("USERIDHERE"), "created" : DATETIME },
        { "user" : ObjectId("USERIDHERE"), "created" : DATETIME }
    "created" : "2012-03-11 20:50:26", 
    "user" : ObjectId("4f5d0408d48147207f000000") 
}
.

私は私のリチウムオブジェクト内でこれをきれいに実装する方法を中心に私の頭をつかむことはできません。My $story->voteプロパティは、すべての更新プログラムをプッシュするアレイになりますか?

役に立ちましたか?

解決

imho、どのようにしてあなたが購読の使いやすい方法に依存する構造。

これがパフォーマンスがあるため、埋め込みMongoオブジェクトとリンクされたコレクションを持つ線を短くするためです。 http://www.monfodb.org/display/docs/schema + design

ユーザIDを購読で置く代わりに、チャネルIDとユーザとのリンクを提案し(チャネルIDとして埋め込まれたユーザの組み込みコレクションとして)。

使用法は、ユーザーのコレクションを(コントロールパネルまたはダッシュボードまたはフロントページなどの場合は...)を引っ張ったときに、表示するチャンネルのリストがあります。

チャネル内のユーザーIDの埋め込みチャンネルの表示を計画し、それらを購読するすべてのユーザーを表示する場合にのみ意味があります。

集約をすることを計画している場合、または1つのコレクションが購読することを計画している場合は、それらを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top