cakephp 如何存储时间戳?CreatedOn是否有自动字段

bxjv4tth  于 2022-11-11  发布在  PHP
关注(0)|答案(2)|浏览(91)

我是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" }

我真正想要的是使用Cake PHP为我的文档分配一个默认的“created_on”。那么你怎么做呢?

drkbr07n

drkbr07n1#

Mongodb不会自动插入除'_id'字段之外的任何内容。您可以从'_id'字段中获得插入时间,如下所示-
ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp()
结果看起来像这样-
ISODate("2012-10-15T21:26:17Z")
如果您想自己插入created_on字段,则-
1.如果你在mongo shell上,那么new Date()会插入当前时间。
db.mycollection.insert({ 'created_on' : new Date() })
1.如果您想使用原始PHP,那么-
$collection->save(array("created_on" => new MongoDate()));
希望这对你有帮助:-)

hmmo2u0o

hmmo2u0o2#

这对我很有效:

echo (new MongoDB\BSON\ObjectId("612e10058e19a6074399f7dd"))->getTimestamp();

相关问题