我是mongoDB的新用户,在使用Save()
时遇到了一些更新问题。
当我点击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”
- 字段中保留日期,而不更新其值?
答案 0 :(得分:0)
使用可以使用更新命令
完成$ collection-&gt; update(array('id'=&gt; id),array('$ set'=&gt; array('updated_at'=&gt; $ article ['updated_at']))); < / p>