如何存储TimeStamp?是否有CreatedOn的自动字段

时间:2014-07-25 04:15:14

标签: mongodb cakephp

我是mongoDB的新手。我有以下代码创建集合和文档但没有时间戳字段。有没有办法在文档中自动插入created_on

db.createCollection("countries"); //Created collection
db.countries.insert({"short_name":"AF","country_name":"Afganistan"});  //Created document
db.countries.find()
{ "_id" : ObjectId("53d1d5bcb8173a625961ff34"), "short_name" : "AF", "country_name" : "Afganistan" }

我真正想要的是分配默认" created_on"使用Cake PHP到我的文档。那你怎么做的?

1 个答案:

答案 0 :(得分:13)

除了' _id'以外,Mongodb不会自动插入任何内容。领域。您可以从' _id'中获取插入时间。像这样的领域 -

ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp()

结果看起来像这样 -

ISODate("2012-10-15T21:26:17Z")

如果您想自己插入created_on字段,那么 -

  1. 如果您使用的是mongo shell,则新的Date()将插入当前时间。

    db.mycollection.insert({ 'created_on' : new Date() })

  2. 如果您想使用原始PHP,那么 -

    $collection->save(array("created_on" => new MongoDate()));

  3. 希望这会有所帮助: - )