2014-01-23 70 views
3

我有一個集合test_posts,其中有某些記錄。有一個名爲'is_published'的字段,其值爲1或0。基於此,我在最終用戶方面展示了內容。我可以顯示內容,但是對於更新,根據MongoDB查詢會有一些變化。PHP中的MongoDb更新

下面是示例代碼:
$newdata = array('$set' => array("is_published" => $_REQUEST['is_published']));
$c->update(array("id" => "1"), $newdata);

我寫的更新類似於MySQL查詢像只有特定record.Its驗證碼:
UPDATE test_posts SET is_published = '" . $_REQUEST['is_published'] ."' WHERE id= '" . $_REQUEST['id'] ."'";

是我的MongoDB查詢相同的MySQL的?如果需要,請提出任何更改。

請建議如何使用MongoClient更新MongoDB中特定請求數據的記錄。

+1

MongoDB的主鍵字段是'_id',不'id'。使查詢在'mongo'控制檯中工作,然後將其轉換爲PHP。 – mnemosyn

回答

1
$conn = new MongoClient(); 
$db = $conn->selectDB("your database name"); 
$db->your collection name->update(array("_id" => new MongoID("here id mongodb id will come which was auto assign when you insert")), array('$set' => array("your field to update" => "content of update"))); 

希望這將幫助你,並注意更新查詢會插入查詢行爲,如果更新現場沒有找到