C#Mongodbドライバーを使用してネストされたリスト内のアイテムを検索する

アミンモハマディ

私はこのようなモデルを持っています:

Class1 
{
    public List<Class2> Class2List { get; set; }
}

Class2 
{
    public List<Class3> Class3List { get; set; }
}

Class3 
{
    public List<Class4> Class4List { get; set; }
}

Class4 
{
    public int Value { get; set; }
    public DateTime CreateDate{ get; set; }
}

2つの日付の間にあるClass4のアイテムのリストを見つける必要があります。以下のコードを使用しようとしましたが、Class4タイプのリストを返す必要があります。

public async Task<IList<Class1>> GetClass4BetweenDates(string Id, DateTime fromDate, DateTime toDate)
{
    var builder = Builders<Class1>.Filter;
    var filter = builder.Eq("Id", Id) & builder.Gte("Class2.Class3.Class4.CreateDate", fromDate) & builder.Lte("Class2.Class3.Class4.CreateDate", toDate);
    return await _context.GetCollection<Class1>().Find(filter).ToListAsync();            
}

私はこれが間違っていることを知っています。私は正しい方法を知る必要があります

跳ねるトランク

class4タイプのみを返すフォローアップの質問に対して、次の操作を実行できます。

public async Task<IList<Class4>> GetClass4BetweenDates(string id, DateTime fromDate, DateTime toDate)
{
    var filterDefinition = Builders<Class1>.Filter.Where(x => x.Id == id &&
                                                              x.Class2List.Any(a => a.Class3List.Any(b => b.Class4List.Any(c => c.CreateDate >= fromDate && 
                                                                                                                                c.CreateDate <= toDate))));
    var class1 = await _context.GetCollection<Class1>().Find(filterDefinition).ToListAsync();  

    var class4List = new List<Class4>();

    if (class1 == null)
        return class4List; 

    foreach (var class2 in class1.Class2List)
    {
        foreach (var class3 in class2.Class3List)
        {
            if (class3.Class4List.Any())
                class4List.AddRange(class3.Class4List);
        }
    }

    return class4List;       
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#MongoDBドライバーを使用したネストされた配列$ pullクエリ

分類Dev

c#Mongodbドライバーを使用して、ネストされた配列をクエリおよび投影します

分類Dev

C#MongoDBドライバーを使用して、ネストされたオブジェクトのプロパティを等しくすることができない、強く型付けされたフィルターを作成するにはどうすればよいですか?

分類Dev

ネストされたリストでアイテムを検索する

分類Dev

ネストされたForループとLinqを使用してC#のリストでそれらの間で類似しているアイテムを検索します

分類Dev

C#Mongodbの強く型付けされたドライバーでネストされたドキュメントの配列内の要素を削除する方法

分類Dev

mongodbのランダムキーを使用してネストされたドキュメント値で検索

分類Dev

ネストされたコレクション内のオブジェクトプロパティを、C#ドライバーを使用してMongoDB内のこのオブジェクトの別のプロパティで更新する

分類Dev

linqを使用して、2つのリストに表示されるアイテムを検索します

分類Dev

UISearchControllerを使用して複数のアイテムを検索するために検索バーのテキストフィールドの高さを拡張するにはどうすればよいですか?

分類Dev

C#Mongodbの強く型付けされたドライバーでネストされた配列要素に基づいてインデックスを作成する方法

分類Dev

C#リストボックス内のすべてのアイテムの選択された状態を検索する

分類Dev

リストボックス内のアイテムをドラッグするときに「ホバーされた」アイテムを強調表示する方法

分類Dev

mongoDB:C#ドライバーV2ネストされたコレクションのアイテムを更新する方法

分類Dev

ネストされたリストでアイテムを検索し、アイテムのインデックスを返す

分類Dev

.indexを使用して、リスト内のリスト内のアイテムの位置を検索するにはどうすればよいですか?

分類Dev

Python-'set'を使用してリスト内のさまざまなアイテムを検索します

分類Dev

Python-'set'を使用してリスト内のさまざまなアイテムを検索します

分類Dev

csharp mongodbドライバーを使用して、リストからアイテムを更新する方法は?

分類Dev

Textbox(localdatabase)を使用してリストボックス内のアイテムを検索する方法

分類Dev

pyqt4を使用してリストウィジェット内のアイテムを検索する方法

分類Dev

C ++文字列アイテムを使用してリスト内の構造体を検索しますか?

分類Dev

ionic1アプリのリストディバイダーを使用してネストされたアイテムの配置に問題がある

分類Dev

C#MongoDBドライバーを使用して、オブジェクト参照のコレクションをシリアル化する方法は?

分類Dev

ワイルドカードを使用して、クエリにリンクされたテキストボックスのレコードを検索する

分類Dev

C#Mongodbの強く型付けされたドライバーを使用して、トランザクションで複数のインデックスを作成します

分類Dev

フィールド名なしでネストされた配列内のテキストを検索するMongoDBクエリ

分類Dev

ストリームAPIを使用してリスト内のアイテムのすべてのインデックスを検索します

分類Dev

Selenium WebDriverとC#を使用してリスト(ul)内のアイテム(li)を選択する方法-検索時のタイムアウト

Related 関連記事

  1. 1

    C#MongoDBドライバーを使用したネストされた配列$ pullクエリ

  2. 2

    c#Mongodbドライバーを使用して、ネストされた配列をクエリおよび投影します

  3. 3

    C#MongoDBドライバーを使用して、ネストされたオブジェクトのプロパティを等しくすることができない、強く型付けされたフィルターを作成するにはどうすればよいですか?

  4. 4

    ネストされたリストでアイテムを検索する

  5. 5

    ネストされたForループとLinqを使用してC#のリストでそれらの間で類似しているアイテムを検索します

  6. 6

    C#Mongodbの強く型付けされたドライバーでネストされたドキュメントの配列内の要素を削除する方法

  7. 7

    mongodbのランダムキーを使用してネストされたドキュメント値で検索

  8. 8

    ネストされたコレクション内のオブジェクトプロパティを、C#ドライバーを使用してMongoDB内のこのオブジェクトの別のプロパティで更新する

  9. 9

    linqを使用して、2つのリストに表示されるアイテムを検索します

  10. 10

    UISearchControllerを使用して複数のアイテムを検索するために検索バーのテキストフィールドの高さを拡張するにはどうすればよいですか?

  11. 11

    C#Mongodbの強く型付けされたドライバーでネストされた配列要素に基づいてインデックスを作成する方法

  12. 12

    C#リストボックス内のすべてのアイテムの選択された状態を検索する

  13. 13

    リストボックス内のアイテムをドラッグするときに「ホバーされた」アイテムを強調表示する方法

  14. 14

    mongoDB:C#ドライバーV2ネストされたコレクションのアイテムを更新する方法

  15. 15

    ネストされたリストでアイテムを検索し、アイテムのインデックスを返す

  16. 16

    .indexを使用して、リスト内のリスト内のアイテムの位置を検索するにはどうすればよいですか?

  17. 17

    Python-'set'を使用してリスト内のさまざまなアイテムを検索します

  18. 18

    Python-'set'を使用してリスト内のさまざまなアイテムを検索します

  19. 19

    csharp mongodbドライバーを使用して、リストからアイテムを更新する方法は?

  20. 20

    Textbox(localdatabase)を使用してリストボックス内のアイテムを検索する方法

  21. 21

    pyqt4を使用してリストウィジェット内のアイテムを検索する方法

  22. 22

    C ++文字列アイテムを使用してリスト内の構造体を検索しますか?

  23. 23

    ionic1アプリのリストディバイダーを使用してネストされたアイテムの配置に問題がある

  24. 24

    C#MongoDBドライバーを使用して、オブジェクト参照のコレクションをシリアル化する方法は?

  25. 25

    ワイルドカードを使用して、クエリにリンクされたテキストボックスのレコードを検索する

  26. 26

    C#Mongodbの強く型付けされたドライバーを使用して、トランザクションで複数のインデックスを作成します

  27. 27

    フィールド名なしでネストされた配列内のテキストを検索するMongoDBクエリ

  28. 28

    ストリームAPIを使用してリスト内のアイテムのすべてのインデックスを検索します

  29. 29

    Selenium WebDriverとC#を使用してリスト(ul)内のアイテム(li)を選択する方法-検索時のタイムアウト

ホットタグ

アーカイブ