我需要有一個簡單的字符串數組/集合在我的文檔,但無法制定出一個辦法與學說ODM來達致這。EmbedMany字符串在MongoDB文檔中?
這是一個示例類/文件,以$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")
我知道有不同的事情是沒有理由的最後一個去工作,但我正在嘗試任何我能想到的事情。
最終結果在蒙戈DB作爲JSON是如此簡單:
{
"_id": ObjectId("a0afa410caeea70de1000000"),
"name": "Example Name",
"tags": ["tag1", "example", "test tag"]
}
我需要幫助,如何有@MongoDB \ EmbedMany註解,讓我只字符串添加到集合,然後看起來像上面的JSON時堅持到數據庫。
我希望有人能幫助,因爲我真的堅持這個現在。感覺就像它應該那麼簡單!
如果最後一個應該是JSON那麼陣列將[]不{} - 後者是一個單獨的嵌入式文檔,對此,這不是合法的語法。 –
感謝您發現Asya。我現在編輯了這個問題。 –
我想你必須爲子文檔的數據驗證定義一個新模型,然後將該模型作爲embedMany添加到其父模型中。 – Sammaye