CI中

2012-06-01 41 views
5

與MongoDB的接口是否有作用扔查詢的MongoDB這樣$this->db->query($query)因爲我想創建笨MongoDB中執行,所以如果我鍵入此查詢是這樣的:CI中

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

...笨拋出查詢直接到MongoDB服務器還是有另一種方式?

回答

3

您應該使用MongoDB PHP DriverMongoDB::command()將這樣的數據庫命令傳遞給mongodb服務器。

在CodeIgniter中有幾個可以使用的社區構建的MongoDB庫。由於我檢查了幾乎所有的人,請採取我的建議,並使用CodeIgniter MongoDB Active Record。下面是一個示例代碼:

<?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. 

這裏是圍繞一些其他的庫,你可能想旁邊的活動記錄一個使用:

+0

謝謝你的回答,我會盡力的。我想創建像這樣的[mongoDB執行器] [https://github.com/zacksyah/sql_executor](https://github.com/zacksyah/sql_executor)我已經創建了SQL執行器,我也想用mongoDB創建該應用程序,所以如果我們輸入像'db.user.find({age:33})'這樣的查詢語句,或者我們輸入像這樣的{{age:33}'php這樣的查詢語句直接將該查詢語句返回給服務器並返回結果。該應用程序將像SQL的phpmyadmin和mongoDB的rockmongo,但我的應用程序將仍然非常簡單 – user1052073

+0

從用戶輸入中獲取查詢,將它傳遞給MongoDB :: command(),並輸出主題結果。 – sepehr