Мне нужно иметь простой массив/набор строк в моем документе, но я не могу найти способ добиться этого с помощью Doctrine ODM.
Это пример класса/документа, где $tags
должен быть простым массивом строк:
namespace Acme\ExampleBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/** @MongoDB\Document */
class MyDocument {
/** @MongoDB\Id */
protected $id;
/** @MongoDB\String */
protected $name;
/** @MongoDB\EmbedMany */
protected $tags = array();
}
Я пробовал разные вещи, такие как @MongoDB\EmbedMany
или @MongoDB\EmbedMany(targetDocument="String")
. Я знаю, что последний не работает, но я просто пробовал все, что мог придумать.
Конечный результат в базе данных Mongo в формате JSON так же прост:
{
"_id": ObjectId("a0afa410caeea70de1000000"),
"name": "Example Name",
"tags": ["tag1", "example", "test tag"]
}
Мне нужна помощь в том, как получить аннотацию @MongoDB\EmbedMany, чтобы позволить мне добавлять в коллекцию только строки, которые затем будут выглядеть как приведенный выше JSON при сохранении в БД.
Я надеюсь, что кто-то может помочь, так как я действительно застрял с этим сейчас. Кажется, это должно быть так просто!