2016-04-23 9 views
0

私はに新しい文書を挿入します。ユーザが投票に投票すると、が投票します。文書が異なるコレクションに存在するかチェックMongoDB集約

{ 
    _id: ObjectId(XXX), 
    card: 11, 
    user: 22 
} 

私は、ユーザーがすでに世論調査で、すなわち文書を投票した場合Voted: 1フィールドを返すようにしたいすべてのポーリングのための今すぐユーザーの要求は、すでに投票コレクションに存在しています。

集計コマンドで別のコレクションのドキュメントにアクセスする方法があるかどうかは誰にでも教えてください。

+0

問題を解決するのに役立つ(ほとんどの)ときには、必ず答えをマークすることを忘れないようにしてください。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235も参照してください。 –

答えて

0

mongoDBでは、クエリ内の複数のドキュメントにアクセスすることはできません。データモデルを変更して配列を追加するか、埋め込みドキュメントを使用する必要があります。

私はあなたのユースケースについてよく分かりませんので、これを一例として、最終的な解決策としてではありません。

次のモデルには、投票されたすべてのユーザーの投票に関する配列が含まれています。したがって、配列にポーリングが含まれているかどうかを確認して、trueの場合は1を返します。

{ 
    _id: ObjectId(XXX), 
    user: 22, 
    cards: [1, 3, 5] 
} 

mongoDBのデータモデリングの詳細については、https://docs.mongodb.org/manual/core/data-modeling-introduction/を参照してください。

関連する問題