0
我試圖更新文檔(1字段完全),但我得到意外的錯誤(shell更新工作正常)。沒有字段被更新。MongoDB php更新返回現有文檔的錯誤
操作:
$_POST['title_en'] = 'skyfall';
$editMovie = array('$set'=>array('title_en'=>$_POST['title_en']));
//JSON: {"$set":{"title_en":"Skyfall"}}
$update = $collection->update(array('_id'=>$_POST['_id']), $editMovie);
返回值:
array(5) { ["updatedExisting"]=> bool(false) ["n"]=> int(0) ["connectionId"]=> int(9) ["err"]=> NULL ["ok"]=> float(1) }
shell命令就像一個魅力:
db.movies.update({"title_en":"skyfall"}, {$set:{"title_en":"Skyfall"}})
但shell命令與PHP不同。您在PHP中使用'_id',但在shell中使用'title_en'。另外,你確定'$ _POST ['_ id']'被設置爲一個實際的ID嗎? –
我處理find()以返回_id's,title_en和其他字段。然後我使用隱藏的表單域來保存這個_id。我用var_dump檢查過所有的值,看起來沒問題。 – jakubplus
你有沒有試過'$ update = $ collection-> update(array('title_en'=> $ _ POST ['title_en']),$ editMovie);'? –