使用MongoDB、PHP语法的投影查询?
什么是php语法,它将完成以下mongodb Shell所做的工作使用MongoDB、PHP语法的投影查询?,mongodb,mongodb-php,Mongodb,Mongodb Php,什么是php语法,它将完成以下mongodb Shell所做的工作 > db.SoManySins.find({},{"_id":0,"FactoryCapacity":1}) MongoDB PHP驱动程序函数的命名类似于它们的shell对应函数,因此在本例中您将使用。PHP驱动程序使用关联数组将字段映射到MongoDB查询 由于PHPMongoCollection::find()文档页面目前没有包含带有投影的示例,为了完整起见,我在下面添加了一个示例: <?php $m
> db.SoManySins.find({},{"_id":0,"FactoryCapacity":1})
MongoDB PHP驱动程序函数的命名类似于它们的shell对应函数,因此在本例中您将使用。PHP驱动程序使用关联数组将字段映射到MongoDB查询 由于PHP
MongoCollection::find()
文档页面目前没有包含带有投影的示例,为了完整起见,我在下面添加了一个示例:
<?php
$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'SoManySins');
// Search criteria
$query = array();
// Projection (fields to include)
$projection = array("_id" => false, "FactoryCapacity" => true);
$cursor = $collection->find($query, $projection);
foreach ($cursor as $doc) {
var_dump($doc);
}
?>
对于投影规范,可以使用mongo
shell中的1/0(包括/排除)或等效的真/假常量
通过PHP MongoDB驱动程序文档中的,以及在10gen网站上查看一些,非常值得一试。如果您与
需要“vendor/autoload.php”;//包括作曲家的自动加载器
$client=new MongoDB\client(“mongodb://localhost:27017");
$result=$client->your_database_name->SoManySins->find(array(),array('projection'=>array('u id'=>FALSE,'FactoryCapacity'=>TRUE));
foreach($result作为$entry){
回声“;
打印(条目);
回声“;
}
事实证明,这是该系列的组成方式,我错过了这一点。所有的旧文档(谷歌搜索的第2页和第3页上显示的内容?哦,是的,很有用。希望它永远不会消失。)对了,通过上面的例子,我在几分钟内就完成了脚本。这是另一根羽毛和一颗珠子!注意:新的PHP扩展与旧的不推荐的PHP扩展有不同的API。首先应该提到的是,我喜欢这个回复,但更重要的是,它现在不允许预测值为真和假。只能是一种值类型,Truthy或Falsy不能同时是两种。'MongoDB\\Driver\\Exception\\CommandException:投影不能同时包含和排除
require 'vendor/autoload.php'; // include Composer's autoloader
$client = new MongoDB\Client("mongodb://localhost:27017");
$result = $client->your_database_name->SoManySins->find(array(),array('projection' =>array('_id'=>FALSE,'FactoryCapacity' => TRUE)));
foreach ($result as $entry){
echo "<pre>";
print_r($entry);
echo "</pre>";
}