大于php7 mongodb中find()方法的符号

时间:2016-09-26 12:52:02

标签: mongodb find php-7

我正在开发一个php-mongodb项目。我已经使用 composer 安装了php-mongodb驱动程序。连接正常。

使用参考链接获取任何指导: http://mongodb.github.io/mongo-php-library/tutorial/crud/#crud-operations http://php.net/manual/en/mongocollection.find.php

除了那些,我找不到很多可靠的php-7理论。 如何使用php-7触发查询以从大于指定数量的数据库中获取结果?

我尝试的代码是:

$rs=$collection->find(['$gte'=>['avg'=>50]]);

这不起作用。它产生的错误是:

Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionException: unknown top level operator: $gte in /var/www/example.com/public_html/vendor/mongodb/mongodb/src/Operation/Find.php:180 Stack trace: #0 /var/www/example.com/public_html/vendor/mongodb/mongodb/src/Operation/Find.php(180): MongoDB\Driver\Server->executeQuery('training.tbl', Object(MongoDB\Driver\Query), Object(MongoDB\Driver\ReadPreference))#1 /var/www/example.com/public_html/vendor/mongodb/mongodb/src/Collection.php(437): MongoDB\Operation\Find->execute(Object(MongoDB\Driver\Server)) #2 /var/www/example.com/public_html/list.php(5): MongoDB\Collection->find(Array) #3 {main} thrown in /var/www/example.com/public_html/vendor/mongodb/mongodb/src/Operation/Find.php on line 180

1 个答案:

答案 0 :(得分:2)

从以下here

中找到了这个答案

//搜索5< x< 20

$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

对于上面的例子,答案是:

$rangeQuery = ['avg' => ['$gt' => '50' ]];
$rs=$collection->find($rangeQuery);