1

C# で mongodb の厳密に型指定されたクエリ ビルダーを使用するときに、ネストされた配列プロパティにアクセスする方法を理解しようとしています。次のクラスがあるとしましょう。

public class V {
    public Guid _id { get; set; }
    public List<S> S { get; set; }
}

public class S {
    public Guid I { get; set;}
    /* other fields */
}

V は文書タイプです。次のようなクエリを作成したい:

var id = Guid.NewGuid();
var query = Query<V>.EQ(v => v.S.I, id);

ただし、V の S プロパティはリストであるため、コンパイルできません。結果として得られる mongo クエリは次のとおりです (実際の G​​UID 構文は正しくありませんが、左側が重要な部分です。

{ "S.I": "99ebc751-c12a-4873-8c3f-cb510b26a082" }

どうすればいいですか?

4

1 に答える 1

0

あなたの質問へのコメントでNuk Nukが述べたように、それを行う必要があります。別の方法として、ElemMatch (docs.mongodb.org/manual/reference/operator/elemMatch) を使用することもできます。これは、とにかくより適切である可能性があります。

型付き構文を使用してこれをサポートする方法について提案がある場合は、フィードバックをお寄せください。同じ理由で、位置 ($) 更新演算子をサポートする方法に苦労しています。

于 2013-03-06T18:43:29.760 に答える