MONGODB CON PHP: CÓMO CONECTAR Y TRABAJAR CON DATOS
MongoDB usa JSON y en PHP se gestiona todo con arrays. Y es el caso de las bases de datos noSQL. La verdad es que es bastante sencillo de aprender y usar:-Crear la base de datos: Se puede hacer de dos maneras.
$this->obj_mongo = new Mongo();
$db = $this->obj_mongo->usuarios; //Si no existe la bbdd la crea
//Después de crear / acceder a la base de datos hay que crear / acceder a la colección de datos a manejar
$this->collection = $db->users;
//Los indices del array son los campos.
$newData = array( "username" => "Pedro", "password" => md5("mipassword"), "year" => "1940" );
$this->collection->insertOne($newData);
//ID ejemplo para actualizar
$id = '50d48a935f2d1ed80e000003';
//Array con los nuevos valores si se quiere mantenr un valor se respeta el valor antiguo
$updateData = array( "username" => "Pepe", "password" => md5("maspassword"), "year" => "1999" );
$this->collection->updateOne(array("_id" => new new \MongoDB\BSON\ObjectID($id)),$updateData);
//ID ejemplo para borrar
$id = '50d48a935f2d1ed80e000003';
//Array con los nuevos valores si se quiere mantenr un valor se respeta el valor antiguo
$this->collection->deleteOne(array("_id" =>new \MongoDB\BSON\ObjectID($id)));
//Busqueda de varios registros con operadores lógicos en este caso AND
$cursor = $this->collection->find(array('$and' =>
array(array("username" => "Pedro"), array("year" => "1940"))));
//Busqueda por un campo
$cursor = $this->collection->find(array('username' => 'Juan'));
//Busqueda por un campo con operador de comparación lt menor que
$users = $collection->find(array('year' => array( '$lt' => 1950)));
//Usando find para la búsqueda.
$cursor = $this->collection->find();
foreach ($cursor as $obj) {
echo $obj['username'].' '.$obj['password'].' '.$obj['year'].' '.$obj['_id'].'
';
}