かなり複雑なMongoDBクエリを実行する必要がありますが、全体を1つのクエリに絞り込むことは難しいです。私はMongoDBに十分な経験があるわけではありません。私は本当にそれを得るには十分な経験がありません。本当に助けていただければ幸いです。私はドロップされません各ID分間値を選択できるようにする必要がありMongoDB C#クエリ:フィルタ+集計+値が真/偽であるかどうかの確認
class MyItem
{
public int ID { get; set; }
public int Value { get; set; }
public bool IsDropped { get; set; }
}
:
私のクラスには、次のようになります。たとえば、次のようにこれらの項目の
items.Add(new MyItem() { ID = 1, Value = 100, IsDropped = true });
items.Add(new MyItem() { ID = 1, Value = 150, IsDropped = false });
items.Add(new MyItem() { ID = 1, Value = 200, IsDropped = true });
items.Add(new MyItem() { ID = 2, Value = 100, IsDropped = false });
items.Add(new MyItem() { ID = 2, Value = 250, IsDropped = false });
は、私が返さたい値は次のとおりです。特定のIDのすべての値が削除されている場合
ID: 1, Value: 150, IsDropped: false
ID: 2, Value: 100, IsDropped: false
はしかし、私もそれを知ることができるようにしたいですそうこれらの値の例:
ID: 2, Value: (doesn't really matter), IsDropped: true
:
items.Add(new MyItem() { ID = 2, Value = 100, IsDropped = true });
items.Add(new MyItem() { ID = 2, Value = 150, IsDropped = true });
私が取得したいです0
また、単純なフィルタクエリを実行できるようにする必要があります。たとえば、「返品のみwhere ID == 1 || ID == 2
」
これは単一のクエリで実行できますか?最小値に基づいてクラスを集計することができますが、IsDropped
パラメータを追加すると、このすべてを実行できる1つのクエリを作成するのが難しくなります。
ご協力いただきありがとうございます。
は、あなたが 'コレクション内のルート文書をMyItem'ですか?重複する「ID」を有することは不可能である。 –