Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB-使用Linq对子文档进行条件设置_Linq_Mongodb_Conditional Statements_Documents - Fatal编程技术网

MongoDB-使用Linq对子文档进行条件设置

MongoDB-使用Linq对子文档进行条件设置,linq,mongodb,conditional-statements,documents,Linq,Mongodb,Conditional Statements,Documents,我正在使用mongo csharp驱动程序查询我的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()

我正在使用mongo csharp驱动程序查询我的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()
    {
    }
 }
公共类表
{
public int Id{get;private set;}
公共字符串说明{get;private set;}
公共列表玩家{get;private set;}
公共表()
{
}
}
公开课选手
{
public int Id{get;private set;}
公共字符串用户名{get;private set;}
公共玩家()
{
}
}
当我尝试按id或描述查询“Table”对象时,我会得到相应的结果,但当我尝试按播放器列表查询时,我会得到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();
//工作正常
var tab1=mongo.GetCollection(),其中(g=>g.Description==“Test”);
//始终返回null,但应返回相同的结果
var tab2=mongo.GetCollection().Where(g=>g.Players.Count>90.FirstOrDefault();
我错过了什么? 谢谢 Nir。

问题是,它被翻译成了

从“链接的高级查询”页面可以看到:

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


这里的计数是多少?只检索有一定数量玩家的表。明白了。因此,如果我明白了这一点,为了实现这一点,我必须在“Table”对象中为“PlayersCount”添加一个额外的属性,并查询它。这是可接受的解决方法吗-这在Mongo中被视为一个bug吗?你对它的理解是正确的,这不是Mongo中的bug-这只是$size的工作方式。