akkroo / phpmongoquery
PHP中的Mongo查询
v1.0.2
2020-07-15 11:13 UTC
Requires
- php: >=5.3.0
- psr/log: ~1.0
Requires (Dev)
- monolog/monolog: 1.*
- phpunit/phpunit: 4.6.*
This package is auto-updated.
Last update: 2024-09-15 20:15:30 UTC
README
PHP中的Mongo查询
PHPMongoQuery 实现了MongoDB查询在PHP中的操作,允许开发者在Mongo查询对象上查询一个'document'(一个包含数据的数组),返回一个布尔值以表示通过或失败。此外,还可以查询一组文档以过滤它们,就像在MongoDB中使用的查询一样。
此代码在Akkroo中使用,允许在表单字段定义中构建高级表单逻辑查询。
用法
<?php use Akkroo\PHPMongoQuery; $query = array('a' => 'foo', 'b' => array('$ne' => 'bar')); $document = array( 'id' => 1, 'a' => 'foo', 'b' => 'barr' ); var_dump(PHPMongoQuery::executeQuery($query, $document));
这将输出
bool(true)
方法
find($query, $documents, $options)
对一组文档执行查询以过滤出仅通过查询的文档
executeQuery($query, $documents, $options)
对单个文档执行查询,返回一个布尔值以表示通过或失败
appendFieldSpecifier($query, $append)
将字段指定符附加到任何字段查询。例如,您的查询可能写成如下所示
$query = array('a' => 'foo');
然而,实际的文档结构是
$document = array('a' => array('value' => 'foo'), 'b' => array('value' => 'bar'));
因此,您需要将'value'指定符附加到查询字段指定符以使查询生效。例如
$newQuery = PHPMongoQuery::appendFieldSpecifier($query, 'value');
// $newQuery is array('a.value' => 'foo');
getDependentFields($query)
解析查询以查找它所依赖的所有字段。这对于在那些值更改时监听非常有用,这样查询只会在结果可能发生变化时重复。例如
$query = array('a' => 'foo');
$dependentFields = PHPMongoQuery::getDependentFields($query);
// $dependentFields is array('a');