0

如何将此脚本转换为 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 ) )
  )
);
4

1 回答 1

0

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

然而,大多数人都希望$and解决这个问题,但实际上很少有人知道:

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

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

于 2013-09-17T07:46:15.803 回答