1

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

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

)
4

2 回答 2

0

MongoDB 不关心地理空间“字段”的键。它只需要前两个元素,第一个是经度,第二个是纬度。即使您将第一个命名为“纬度”,它仍然会被视为经度。我认为它不会插入的唯一原因可能是您在某些字段上具有唯一键。

如果您要添加一个完整的工作(但很小)示例来说明您插入的内容,那么我可以更新答案以希望显示出什么问题。

于 2012-02-21T09:06:23.770 回答
0
array( 'loc' => array( floatval($lon),  floatval($lat)))
于 2012-02-25T00:47:48.393 回答