我正在尝试插入包含嵌套地理空间数据数组的记录。我甚至尝试将数组作为对象,但也没有运气。这里或多或少是插入行:
$collection->insert($obj, array('safe'=>true));
有趣的是,当我将索引'loc'称为其他内容时,例如只是一个整数,插入就可以了。
这是应该进入Mongodb的数组,但不是:
Array
(
[name] => Home
[address] => 500 Pole Line Road
[city] => Davis
[state] => CA
[zip] => 95618
[loc] => Array
(
[lon] => -121.726710
[lat] => 38.549576
)
)
答案 0 :(得分:0)
MongoDB并不关心地理“领域”的关键。它只需要前两个元素,第一个元素是经度,第二个元素。即使你给第一个“lat”命名,它仍然会被视为经度。我认为它不会插入的唯一原因可能是你在某些领域有一个独特的键。
如果您要添加一个完整的工作(但很小)的插入示例,那么我可以更新答案,希望能够显示错误。
答案 1 :(得分:0)
array( 'loc' => array( floatval($lon), floatval($lat)))