我正在尝试使用 mongo 作为数据库和 php 作为语言来建立一个简单的博客系统。我不确定如何将日期或时间戳放入 mongo(我想我需要一个时间戳,以便我可以按发布的降序将发布的内容拉回来)。我已经在下面发布了我现在写的作为存根的内容 - 它正在创建一个 PHP 日期并将其粘贴 - 但这似乎是作为一个字符串出现的。这是我习惯于在 Oracle 中处理的事情,以至于在 mongo 中让我大吃一惊。建议?
try{
date_default_timezone_set('America/New_York');
//$dt = date('j-m-y h-i-s');
$conn = new Mongo(); // connect
$db = $conn->selectDB("blog");
$collection = $db->items;
$item =array(
'title' => $_POST['title'],
'txt' => $_POST['txt'],
'labels' => $_POST['labels'],
'user' => $_POST['user'],
'dt' => date('j-m-y h-i-s')
);
$collection->insert($item);
/// disconnect from server
$conn->close();
} catch ( MongoConnectionException $e ) {
echo '<p>Couldn\'t connect to mongodb, is the "mongo" process running?</p>';
exit();
}
Run Code Online (Sandbox Code Playgroud)
在我看来,最合适的方法是使用MongoDate。所以要插入它,你需要做:
$collection->insert(array(
'time' => new MongoDate()
));
Run Code Online (Sandbox Code Playgroud)
这将插入当前日期(或新蒙戈2.6你可以做到这样)。
或者
$collection->insert(array(
'time' => new MongoDate(strtotime("2010-01-15 00:00:00"));
));
Run Code Online (Sandbox Code Playgroud)
将插入一个特定的日期。
要检索您的日期,您可以使用 date('Y-M-d h:i:s', $yourDate->sec);
最新的 PHP-MONGO 驱动程序更新
使用BSON UTCDateTime类型如下:
$collection->insert(array(
'time' => new MongoDB\BSON\UTCDateTime(strtotime("2010-01-15 00:00:00"));
));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12864 次 |
| 最近记录: |