0

私はmongo-csharp-driverを使用してMongoエンティティをクエリしています。Mongoに保存されている次のオブジェクトがあります。

public class Table
{
    public int Id { get; private set; }
    public string Description{ get; private set; }       
    public List<Player> Players { get; private set; }

    public Table()
    {
    }
 }

public class Player
{
    public int Id { get; private set; }

    public string Username{ get; private set; }        
    public Player()
    {
    }
 }

IDまたは説明で「テーブル」オブジェクトをクエリしようとすると、適切な結果が得られますが、プレーヤーのリストでクエリを実行しようとすると、nullが返されます。

// Works ok
var tab1 = mongo.GetCollection<Table>().Where(g => g.Description == "Test");
// Always return null, although should return the same result
var tab2 = mongo.GetCollection<Table>().Where(g => g.Players.Count > 90).FirstOrDefault();

ここで何が欠けていますか?ありがとう、ニール。

4

1 に答える 1

0

問題は、Count プロパティが$size クエリ演算子に変換されることです。

リンクされた Advanced Queries ページから、次のことがわかります。

「サイズの範囲を見つけるために $size を使用することはできません (たとえば、複数の要素を持つ配列)。」

于 2012-07-15T19:36:54.700 に答える