2016-12-12 2 views
0

をグループ化:私のアプリでいいえSQLデータベースは、私は次のようになり、文書でのMongoDBのコレクションを持って参加しないと

{ 
    "_id" : ObjectId("583f6e6d14c8042dd7c153f1"), 
    "transid" : 1, 
    "acct" : "acct1", 
    "transdate" : ISODate("2012-01-31T05:00:00.000Z"), 
    "category" : "Fees", 
    "amount" : 103 
} 

私は、ユーザーが設定したリストから利用可能なすべてのカテゴリの一覧を表示し、また、それらを与えたいです新しいカテゴリを追加するオプション。これらはドロップダウンで表示されます。私の質問は、実際に取引に割り当てられていない可能性があるため、カテゴリの別個のリストを保存する方法です。

ドロップダウンリストにはカテゴリコレクションがありますか?

また、カテゴリ別にすべての取引のリストを取得しているときに、トランザクションを持たないカテゴリもどのように含めることができますか?

答えて

0

これらを別々のコレクションに入れることができます。この場合、集計$検索クエリを起動して2つの異なるコレクションからデータを取得する必要があります。 here.

を参照してください他のオプションは

db.runCommandのような明確なクエリを発射することができ、カテゴリを取得するためにその後

{ 
    "_id" : ObjectId("583f6e6d14c8042dd7c153e1"), 
    "transdate" : ISODate("2012-01-31T05:00:00.000Z"), 
    "category" : "Fees" 
} 

のような他の詳細を持っていない同じコレクションでそれを維持することです({distinct: "collectionName"、key: "category"})

私の好みは、2番目のアプローチになります。最初のものは、2つのコレクションを維持し、高価なルックアップを行う必要がある従来のRDBMSアプローチです。 シナリオは余分なオーバーヘッドを必要としているようには見えませんが、選択肢は単純にあなたのものです。

関連する問題