我使用 symfony2 和 mongoDb ODM。今天我已经安装了 FosUserBundle。
我的用户类是这样的:
use FOS\UserBundle\Document\User as BaseUser;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document
*/
class User extends BaseUser
{
/**
* @MongoDB\Id(strategy="auto")
*/
protected $id;
public function __construct()
{
parent::__construct();
}
}
我的问题是在使用 FosUserBundle create 命令创建了一个用户后,只有用户的 id 保留在 mongodb 文档中。
如果我在我的用户类中添加以下内容:
/**
* @MongoDB\String
*/
protected $username;
create 命令持久化 Id 和良好的用户名。当然,FOS\UserBundle\Document\User(BaseUser)的所有初始字段都是一样的。