What is the php syntax which will do the work which the following mongodb Shell does?
> db.SoManySins.find({},{"_id":0,"FactoryCapacity":1})
What is the php syntax which will do the work which the following mongodb Shell does?
> db.SoManySins.find({},{"_id":0,"FactoryCapacity":1})
The MongoDB PHP driver functions are named similar to their shell counterparts, so in this case you would be using MongoCollection::find(). The PHP driver uses associative arrays to map fields to MongoDB queries.
Since the PHP MongoCollection::find()
documentation page doesn't currently include an example with projection, I've added one below for completeness:
<?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);
}
?>
For the projection spec you can use 1/0 (include/exclude) as in the mongo
shell, or equivalent true/false constants.
It's well worth working through the Tutorial in the PHP MongoDB driver documentation as well as viewing some of the archived presentations on the 10gen web site.
If you are using MongoDB driver conjunction with the 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>";
}
'MongoDB\\Driver\\Exception\\CommandException: Projection cannot have a mix of inclusion and exclusion
–
Constructionist © 2022 - 2024 — McMap. All rights reserved.