私はMongoDBでDoctrine ODMを使用しています。私はこのような "製品モデル" を持っている:Doctrine/MongoDB:数値配列の代わりにキーと値のペアを使用
namespace Cms\Model;
/** @EmbeddedDocument */
class ProductParam
{
/** @String */
private $type;
/** @String */
private $value;
}
私はこのスキーマで文書を挿入すると、結果がこれです::
{
"_id": ObjectId("4d17ac603ffcf6d01300002a"),
"title": "Peugeot 206 2001-X-Reg, 1.4lx Air-con, 12 months mot, Credit Cards Accepted.",
"description": "PEUGEOT 206 1.4LX IMMACULATE THROUGHOUT DRIVES ABSOLUTELY SUPERB",
"params": {
"0": {
"type": "carBrand",
"value": "PEUGEOT"
},
"1": {
"type": "carModel",
"value": "206 LX"
}
}
namespace Cms\Model;
/** @Document(collection="products") */
class Product
{
/** @Id */
private $id;
/** @String */
private $title;
/** @String */
private $description;
/** @Date */
private $createdAt;
/** @EmbedMany(targetDocument="Cms\Model\ProductParam") */
private $params;
/** @EmbedOne(targetDocument="Cms\Model\Coordinate") */
private $coordinate;
public function __construct()
{
$this->details = new \Doctrine\Common\Collections\ArrayCollection();
$this->params = new \Doctrine\Common\Collections\ArrayCollection();
}
}
マイProductParamモデルは、このようなものです
しかし、私はこれのようなものです:
{
"_id": ObjectId("4d17ac603ffcf6d01300002a"),
"title": "Peugeot 206 2001-X-Reg, 1.4lx Air-con, 12 months mot, Credit Cards Accepted.",
"description": "PEUGEOT 206 1.4LX IMMACULATE THROUGHOUT DRIVES ABSOLUTELY SUPERB",
"params": {
carBrand: "PEUGEOT",
carModel: "206 LX"
}
}
どうすればいいですか?ありがとう。