下面的mongodb Shell会做什么工作的php语法是什么?
> db.SoManySins.find({},{"_id":0,"FactoryCapacity":1})
答案 0 :(得分:15)
MongoDB PHP驱动程序函数的命名方式与它们的shell类似,因此在这种情况下,您将使用MongoCollection::find()。 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(包含/排除),或等效的true / false常量。
非常值得使用PHP MongoDB驱动程序文档中的Tutorial以及查看10gen网站上的一些archived presentations。
答案 1 :(得分:3)
如果您使用MongoDB driver与MongoDB PHP library
结合使用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>";
}