Majid Ali Majid Ali - 3 months ago 16
PHP Question

PHP MongoClient find not working

I am new on MongoDB, and using it on windows. I created an Database, then created a Collection and inserted record there, I am checking by GUI tool RoboMongo, it is showing on GUI tool, but when i get it by code, it shows nothing.
Following is code, please guide me what to do.

$m = new MongoClient('mongodb://root:root123@localhost');
$db = $m->selectDB('db_name');
$collection_name = 'collection_name';
$db->createCollection( $collection_name );
$get_collection = new MongoCollection( $db, $collection_name );
$data = array(
'_id' => '1_record',
'name' => 'Majid Ali',
'designation' => 'Developer'
);
$get_collection->insert( $data );
$find = $get_collection->find();
print_r( $find );

Answer

have you any error? But i think the best way to select the collection is this:

try{
    // Connecting to server
    $m = new MongoClient('mongodb://root:root123@localhost');
}catch(MongoConnectionException $connectionException){
    print $connectionException;
    exit;
}
try{
    // Getting MongoCollection

    $db = $m->db_name;
}catch(MongoException $mongoException){
    print $mongoException;
    exit;
}
$collection_name = 'collection_name';
$db->createCollection( $collection_name );

//Selected the Collection
$get_collection= $db->collection_name;

$data = array(
   '_id' => '1_record',
   'name' => 'Majid Ali',
   'designation' => 'Developer'
);
try{
    // Inserting data into students collection

    $get_collection->insert( $data );
}catch(MongoCursorException $mongoCursorException){
    echo $mongoCursorException;
    exit;
} 
$find = $get_collection->find();
$array = iterator_to_array($find );
print_r( $array  );