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 查询操作符

从链接的高级查询页面中,您可以看到:

“您不能使用 $size 查找大小范围(例如:具有超过 1 个元素的数组)。”

于 2012-07-15T19:36:54.700 回答