1
我是mongoDB的新手,在使用Save()
時,我偶然發現了一些更新問題。更新mongodb文檔時刪除的字段
當我點擊我的HTML頁面保存按鈕我運行下面的代碼:
<?php
$action = (!empty($_POST['btn_submit']) &&
($_POST['btn_submit'] === 'Save')) ? 'save_article' : 'show_form';
$id = $_REQUEST['id'];
try {
$mongodb = new Mongo();
$articleCollection = $mongodb->myblogsite->articles;
} catch (MongoConnectionException $e) {
die('Failed to connect to MongoDB ' . $e->getMessage());
}
switch ($action) {
case 'save_article':
$article = array();
if (!empty($id)) {
$article['_id'] = new MongoId($id);
} else {
$article['_id'] = new MongoId();
}
$article['title'] = $_POST['title'];
$article['content'] = $_POST['content'];
$article['tags'] = $_POST['tags'];
if (!empty($id)) {
$article['updated_at'] = new MongoDate();
} else {
$article['saved_at'] = new MongoDate();
}
$articleCollection->save($article);
break;
case 'show_form':
default:
if (!empty($id)) {
$article = $articleCollection->findOne(array('_id' => new MongoId($id)));
}
}
?>
的想法是,如果$id
不是空我更新文檔,否則我插入。 我用save()
來管理。
我想要兩個日期字段。一個保存文件的日期,另一個保存上次更新的日期。 無法更新「save_at」
。每次更新時都會更改「updated_at」
。 我現在的問題是,當我嘗試添加「updated_at」
時,「save_at」
被刪除。 我也更新「saved_at」
-字段。
我的問題是:
如何插入一個新的領域('updated_at')
無需拆卸「saved_at」
- 場?
如何在「saved_at」
-字段中保持日期,而不更新其值?