MongoDB(比第二列更大的第一列?)(php)

use*_*307 6 php mongodb

我将用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.

Sam*_*aye 1

您不能为此使用普通查询,但是,不用担心,聚合框架可以帮助操作员$cmphttp ://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)