使用PHP在mongodb中插入和检索日期和时间戳

我正在尝试建立一个简单的博客系统,使用mongo作为db和PHP作为语言.我不确定如何将日期或时间戳记放入mongo(我想我需要时间戳记,以便我可以按张贴的降序顺序将其拉回).我已经在下面以桩的形式发表了我的文章,它创建了一个PHP日期并将其保留在其中,但这似乎是以String形式出现的.这是我在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();
    }

解决方法:

我认为,最合适的方法是使用MongoDate.因此要插入它,您需要执行以下操作:

$collection->insert(array(
  'time' => new MongoDate()
));

这将插入当前日期(或者在新的Mongo 2.6中,您可以输入this way).

要么

$collection->insert(array(
  'time' => new MongoDate(strtotime("2010-01-15 00:00:00"));
));

将插入一个特定的日期.

要检索您的日期,可以使用date(‘Y-M-d h:i:s’,$yourDate-> sec);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...