/**
* @MongoDB\Document
*/
class Post
{
/**
* @MongoDB\Id
*/
private $id;
/**
* @MongoDB\String
*/
private $body;
/**
* @MongoDB\EmbedMany(targetDocument="Comment")
*/
private $comments;
public function __construct()
{
$this->comments = new ArrayCollection();
}
}
/**
* @MongoDB\EmbeddedDocument
*/
class Comment
{
/**
* @MongoDB\String
*/
private $body;
}
Но обратите внимание, что комментарии не являются хорошими кандидатами для встраивания - вопреки, вероятно, наиболее популярному примеру встраивания в MongoDB. Я тоже начал с комментариев как встраиваний, но потом столкнулся с некоторыми проблемами и решил сохранить их в отдельной коллекции. Я не помню всех проблем, но главной была неспособность сортировать комментарии на стороне базы данных. Быстрое решение состояло в том, чтобы отсортировать их на стороне клиента, но когда дело доходит до нумерации страниц, оно просто не масштабируется.