如何在同一个领域做多个?

时间:2013-09-17 07:38:29

标签: mongodb mongodb-php

如何为mongoDB转换此脚本?

select * from table where id > -1 and id in (4,5)

我需要在同一个字段中使用两个where条件执行此查询。

这在PHP中似乎不起作用:

$db->$col->find(
  array(
    'id' => array( '$gt' => -1 ),
    'id' => array( '$in' => array( 4, 5 ) )
  )
);

1 个答案:

答案 0 :(得分:0)

基本上问题是您的数组中有一个重复的键,因此后者会覆盖先前的键,因此您的查询只执行$in

大多数人都期待$and来解决这个问题,但实际上很少有人知道:

'id'=>array('$gt'=>-1, '$in'=>array(4,5))

也会解决它。您可以链接该字段的约束。