带有Symfony2的MongoDB
我必须在城市层面上提出一个自动建议,这样我就可以列出各个国家的地图城市,如带有Symfony2的MongoDB,mongodb,symfony,odm,Mongodb,Symfony,Odm,我必须在城市层面上提出一个自动建议,这样我就可以列出各个国家的地图城市,如USA=>(“纽约”、“达拉斯”、“洛杉矶”…) 我需要的是使用symfony2映射方法将其保存在mongodb中。 我搜索了很多,但没有找到关于mongodb中数组处理的适当帮助或文档 请说明是否有人在这方面有经验 namespace SPTL\UserBundle\Document; use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB; /** * @Mo
USA=>(“纽约”、“达拉斯”、“洛杉矶”…)
我需要的是使用symfony2映射方法将其保存在mongodb中。
我搜索了很多,但没有找到关于mongodb中数组处理的适当帮助或文档
请说明是否有人在这方面有经验
namespace SPTL\UserBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document
*/
class City {
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\String
*/
protected $country;
/**
* @MongoDB\hash
*/
protected $city = array();
/**
* Get id
*
* @return id $id
*/
public function getId()
{
return $this->id;
}
/**
* Set country
*
* @param string $country
* @return \City
*/
public function setCountry($country)
{
$this->country = $country;
return $this;
}
/**
* Get country
*
* @return string $country
*/
public function getCountry()
{
return $this->country;
}
/**
* Set city
*
* @param hash $city
* @return \City
*/
public function setCity($city)
{
$this->city = $city;
return $this;
}
/**
* Get city
*
* @return hash $city
*/
public function getCity()
{
return $this->city;
}
}
插入的用法:
插入的记录:
用于检索的代码:
但是我无法通过上述检索代码获取记录….如果您需要通过ObjectId类型的id检索城市 您必须从创建对象,并将id作为字符串提供 例如:
$repository = $this->get('doctrine_mongodb')->getManager()
->getRepository('UserBundle:City');
$cityId = new \MongoId("5252b03f6b0f57394e2fb1b5");
$city = $repository->find($cityId);
var_dump($city);
{
"_id": ObjectId("5252b03f6b0f57394e2fb1b5"),
"country": "USA",
"city": {
"0": "New York",
"1": "Dallas",
"2": "Los Angeles"
}
}
$repository = $this->get('doctrine_mongodb')->getManager()
->getRepository('UserBundle:City');
$cities = $repository->findBy(array("_id"=>'5252b03f6b0f57394e2fb1b5'));
print_r($cities);
$repository = $this->get('doctrine_mongodb')->getManager()
->getRepository('UserBundle:City');
$cityId = new \MongoId("5252b03f6b0f57394e2fb1b5");
$city = $repository->find($cityId);
var_dump($city);