获取列等于null的所有文档

时间:2014-04-24 14:09:01

标签: mongodb

有人可以告诉我如何在Rock Mongo中获取所有文档,其中“Namn”列存在但是具有值''。

这是我已经尝试过的事情:

array (
  'Namn' => 
  array (
    '$in' => '',
  ),
)

但我收到了这条消息:

Cannot run command count(): exception: invalid query

我还尝试了上面一段代码的其他变体。我使用$ ne insted $ in但这也没有给我预期的结果。

由于

1 个答案:

答案 0 :(得分:2)

查找null值的Mongo查询是:

{ 'Namn': null }

你似乎在使用PHP,所以我假设你想要这样的东西:

array('Namn' => null)

请注意,这将为您提供字段为空或不存在的文档。如果您只想要空值(而不是缺少字段的文档),则需要使用$type查询:

array('Namn' => array('$type' => 6))

另见:

如果你只是想找到一个空字符串(''),这就简单得多了:

array('Namn' => '')

应该做的工作。

在任何情况下,您都不需要使用$in,除非您希望匹配一组不同的值。