我在使用PHP中的地理空间数据插入Mongodb记录时遇到问题

时间:2012-02-21 02:47:15

标签: php codeigniter mongodb mongodb-php

我正在尝试插入包含嵌套地理空间数据数组的记录。我甚至尝试将数组作为对象,但也没有运气。这里或多或少是插入行:

$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
    )

)

2 个答案:

答案 0 :(得分:0)

MongoDB并不关心地理“领域”的关键。它只需要前两个元素,第一个元素是经度,第二个元素。即使你给第一个“lat”命名,它仍然会被视为经度。我认为它不会插入的唯一原因可能是你在某些领域有一个独特的键。

如果您要添加一个完整的工作(但很小)的插入示例,那么我可以更新答案,希望能够显示错误。

答案 1 :(得分:0)

array( 'loc' => array( floatval($lon),  floatval($lat)))