Step 2b: Setup MongoDB mapping

The MongoDB implementation does not provide a concrete Comment class for your use,you must create one:

MongoDB实现并不提供为您所用的具体评论类,您必须要创建一个。

<?php
// src/MyProject/MyBundle/Document/Comment.php
namespace MyProject\MyBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use FOS\CommentBundle\Document\Comment as BaseComment;
/**
 * @MongoDB\Document
 * @MongoDB\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
 */
class Comment extends BaseComment
{
    /**
     * @MongoDB\Id
     */
    protected $id;
    /**
     * Thread of this comment
     *
     * @var Thread
     * @MongoDB\ReferenceOne(targetDocument="MyProject\MyBundle\Document\Thread")
     */
    protected $thread;
}

Additionally, create the Thread class:

另外,创建线索类:

<?php
// src/MyProject/MyBundle/Document/Thread.php
namespace MyProject\MyBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use FOS\CommentBundle\Document\Thread as BaseThread;
/**
 * @MongoDB\Document
 * @MongoDB\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
 */
class Thread extends BaseThread
{
}

Configure your application(配置您的应用程序)

In YAML:

使用YAML格式:

# app/config/config.yml
fos_comment:
    db_driver: mongodb
    class:
        model:
            comment: MyProject\MyBundle\Document\Comment
            thread: MyProject\MyBundle\Document\Thread
assetic:
    bundles: [ "FOSCommentBundle" ]

Or if you prefer XML:

或者如果您偏好XML:

# app/config/config.xml
<fos_comment:config db-driver="mongodb">
    <fos_comment:class>
        <fos_comment:model
            comment="MyProject\MyBundle\Document\Comment"
            thread="MyProject\MyBundle\Document\Thread"
        />
    </fos_comment:class>
</fos_comment:config>
<assetic:config>
    <assetic:bundle name="FOSCommentBundle" />
</assetic:config>

Back to the main step(返回主步骤)

Step 2: Create your Comment and Thread classes.

第2步:创建您的评论类和线索类