2012-04-01 56 views
0

这看起来应该很简单,但我无法使其工作。我想选择所有文档A,其中一个子集合中有一个或多个B元素。Mongo查询子集合中物品的数量

就像是一个商店文件有一个雇员的集合。我只想找到有1个或更多员工的店铺。

我想是这样的:

{Store.Employees:{$size:{$ne:0}}} 

{Store.Employees:{$size:{$gt:0}}} 

只是不能得到它的工作。

回答

0

这不支持。你基本上只能得到其中数组大小为的文档等于的值。范围搜索你不能做。

人们通常会做的事情是他们将数组长度缓存在同一个文档的单独字段中。然后他们索引该字段并进行非常有效的查询。

当然,这需要你多一点工作(不要忘记保持这个长度的字段电流)。

+0

呃......太糟糕了。大声笑希望在文档中的某个地方被调出,或者更清楚。花了很多时间试图弄清楚。 – user1070663 2012-04-01 06:47:54

+0

我相信这是拼写出来:) – 2012-04-01 06:48:27