当我添加新记录时,日期保存为字符串:
"created_at" : "0.67200000 1407770545"
我的问题是如何保存日期作为一个对象?我希望看到这样的内容:
"created_at" : ISODate("2013-09-22T07:41:44.451Z"),
我代码:class User
{
/**
* @MongoDB'Date
* @MongoDB'Field(name="created_at")
*/
protected $createdAt;
/**
* @param MongoDB'Date $createdAt
* @return self
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* @return MongoDB'Date $createdAt
*/
public function getCreatedAt()
{
return $this->createdAt;
}
}
$user= new User();
$user->setCreatedAt(new 'MongoDate());
$dm = $this->get('doctrine_mongodb')->getManager();
$dm->persist($user);
$dm->flush();
仅适用于@MongoDB'Date
注释。
当添加第二个注释@MongoDB'Field(name="created_at")
时,它没有以正确的类型保存日期。原因是@MongoDB'Field
标注需要指定数据类型。
通过更改注释来修复这个问题:
/**
* @MongoDB'Date
* @MongoDB'Field(name="created_at")
*/
:
/**
* @MongoDB'Field(name="created_at", type="date")
*/