我将用mysql查询解释这个.
select * from stock where home>away
home away
1 3
2 1
1 0
4 5
Run Code Online (Sandbox Code Playgroud)
我只是想用mongodb做同样的查询.但我无法做到这一点.
array('column' => array('$gt' => what should I write here?))
Run Code Online (Sandbox Code Playgroud)
我需要一些帮助才能使用PHP.
您不能为此使用普通查询,但是,不用担心,聚合框架可以帮助操作员$cmp:http ://docs.mongodb.org/manual/reference/aggregation/cmp/
db.collection.aggregate({$project:{c: {$cmp:['$col1','$col2']}}},{$match:{c:{$gt:0}}})
Run Code Online (Sandbox Code Playgroud)
然而,据说它对索引不太友好,并且目前限制为 16meg 的结果。
要考虑您的编辑:
$mongo->collection->aggregate(array(
array('$project'=>
array(
'c'=>array('$cmp'=>array('$col1','$col2'))
)
),
array('$match'=>array('c'=>array('$gt'=>0)))
))
Run Code Online (Sandbox Code Playgroud)