2012-06-01 15 views
5

¿Hay funcionan para tirar mongodb consulta como esta $this->db->query($query) porque quiero crear mongodb ejecutor en CodeIgniter por lo que si escribo esta consulta como esta:Interfaz con MongoDB en CodeIgniter

db.users.find({age:33}) 

... CodeIgniter tirar esa consulta directamente al servidor mongodb o hay otra manera?

Respuesta

3

Debe usar MongoDB PHP Driver 's MongoDB::command() para pasar tales comandos de base de datos al servidor mongodb.

En CodeIgniter hay algunas bibliotecas de MongoDB creadas por la comunidad que puede usar. Como revisé casi todos ellos, tome mi consejo y use CodeIgniter MongoDB Active Record. He aquí un ejemplo de código:

<?php 
// Somewhere in your model, controller, etc. 

// Load MongoDB library 
$this->load->library('mongo_db'); 

// Query MongoDB: Active document library usage example 
$docs = $this->mongo_db->where('age', '33')->get('collection_name_here'); 

// Query MongoDB: Command usage example 
$docs = $this->mongo_db->command(array(
    'geoNear' => 'buildings', 
    'near'  => array(53.228482, -0.547847), 
    'num'  => 10, 
    'nearSphere' => TRUE, 
)); 

// Theme results, pass to the view, etc. 

Aquí están algunas otras bibliotecas de todo que es posible que desee utilizar junto con el registro activo uno:

+0

Gracias por su respuesta, lo intentaré. Quiero crear el ejecutor de mongoDB así [https://github.com/zacksyah/sql_executor](https://github.com/zacksyah/sql_executor) Ya creé el ejecutor de SQL y también quiero crear esa aplicación con mongoDB así que si ingresamos la consulta como 'db.user.find ({age: 33})' o ingresamos una consulta como esta '{age: 33}' php directamente lanza esa consulta al servidor y devuelve el resultado. La aplicación será como phpmyadmin para SQL y rockmongo para mongoDB, pero mi aplicación será aún muy simple – user1052073

+0

Obtenga la consulta de la entrada del usuario, páselo a MongoDB :: command() y genere los resultados temáticos. – sepehr