2012-11-02 202 views
2
[_id] => MongoId Object (
    [$id] => 5090ace3788a466769b3804e 
) 
[startdate] => MongoDate Object (
    [sec] => 1301616000 
    [usec] => 0 
) 
[enddate] => MongoDate Object (
    [sec] => 1304121600 
    [usec] => 0 
) 
[your_id] => 33902 
[odd_blah] => blahblah 
[cam_id] => 339 
[cost] => 0.01 
[iscurrent] => 
[damn_current] => Array (
) 

$coll = $this->mongo_db->where('cam_id', 339)->get('collection_name); 

這不會返回任何內容。您可能會注意到我正在使用 https://github.com/alexbilbie/codeigniter-mongodb-library/tree/v2如何查詢MongoDB集合?

我得到一個空數組。誰能幫忙?這聽起來很原始,但有點卡住了。

回答

2

你非常接近,你需要把你的where語句放在一個數組中。

$coll = $this->mongo_db 
    ->where(array('cam_id' => 339)) 
    ->get('collection_name'); 

我假設你使用Alex Bilbie的MongoDB CodeIgniter Library。他的文檔實際上是過時的,並且更多地推薦查看他的source code的例子和函數需要的輸入類型的評論。

+0

那麼,我沒有參考源文件。該方法檢查第一個參數是否是字段和值的關聯數組。 公共函數,其中($何在=陣列(),$值= NULL) { 如果(is_array($何在)) { 的foreach($何在爲$其中=> $值) { $這 - > wheres [$ where] = $ value; } } else { $ this-> wheres [$ wheres] = $ value; } return $ this; } 也使用你的方法,仍然沒有運氣。 – Sid4it

+0

您是否試過使用mongo的CLI查詢此問題? –

+0

是的 - 我已經使用moadmin.php並得到結果。 – Sid4it