2015-02-07 216 views
0

我想更新記錄,並且我已經在mongodb中知道它的_id。我也跟着這樣:MongoDB $set not updating record用php更新mongodb中的記錄

$idVal ="some value"; 

$new_data =array('$set'=> array("Domain"=>$domain), 
array("author"=>$author),array("title"=>$title)); 

$collectionList->update(array("_id"=>$idVal), $new_data); 

的錯誤消息是錯誤message127.0.0.1:27017:未知的修飾:0

什麼是錯我的查詢?先謝謝你!

+0

哪個蒙戈庫您使用? – 2015-02-07 09:29:48

+0

我下載了2.6.7 – hao 2015-02-07 09:30:53

+0

$ idVal =「一些價值」??設置「$ idVal = 123456」; //任意數字。然後嘗試 – 2015-02-07 09:35:17

回答

0

設置$ idVal用任何數量的嘗試..

例子:

$idVal =123456; 

$new_data =array('$set'=> array("Domain"=>$domain), 
array("author"=>$author),array("title"=>$title)); 

$collectionList->update(array("_id"=>$idVal), $new_data); 
+0

試過這個重要的id是54d5a04a7fba9ad0788b4568,我只是沒有把它放在那裏 – hao 2015-02-07 09:44:45

0

您指定的錯誤更新數據。如果您在$new_data陣列仔細看,你會發現,它是3個鍵的數組:

$new_data = array(
    '$set' => array("Domain"=>$domain), 
    0 => array("author"=>$author), 
    1 => array("title"=>$title) 
); 

這就是爲什麼你有一個錯誤「未知的修飾:0」,因爲0不是一個mongodb更新操作符。

在你的情況$new_data陣列應該是:

$new_data = array(
    '$set' => array(
     "Domain"=>$domain, 
     "author"=>$author, 
     "title"=>$title 
    ) 
);