我找不到这样的东西,因此问题。我有一个包含类别数组的page \ blarg集合。我希望能够提取现有类别的列表,我不想做Map Reduce,所以我决定只拉出所有类别,然后过滤它们以获得唯一性客户端。我想只拉出非空的数组,所以我设计了以下查询:
{类别:{$ not {$ size:0}}}
但是我不知道如何使用驱动程序复制它。 $不需要BsonValue和$ Size只需要一个int,我不知道如何在$ Not查询中放入$ Size条件。我想我可以使用QueryDocument或其他东西,但我不知道如何通过匿名对象模拟操作符(或者至少我没有看到任何文档)。
P.S。我意识到我可能能够做一个Query.EQ(“类别”,BsonArray.Create(新的List()))或者其他什么,但我现在对它的原理的答案感兴趣,我能想到另一种情况,我可能想要任何数组,例如,其中有多于或少于一个条目。
答案 0 :(得分:1)
您可以在C#中表达您的查询,如下所示:
var query = Query.Not(“Categories”)。Size(0);
您可以使用以下命令验证它实际上是同一个查询:
var json = query.ToJson();