背景:将 CodeIgniter 与此 MongoDB 库一起使用。
这是我第一次使用 mongodb,到目前为止我很享受。我花了一段时间才将自己与 sql 的思维方式区分开来,但它非常适合我目前的项目。
我正在尝试使用...将数组推送到文档中
$this->mongo_db->where(array('_id'=>$estimate_id))->push("measurements", $newData)->update('estimates');
如果我编码 $newData 使用json_encode($newData)
我得到{"levels":[{"level_qty":12,"level_uom":"ft"}]}
问题是,当我的函数measurements
在 mongodb 文档中创建该行时,它会自动启动一个数组,我在 [0] 处插入。像这样...
"measurements" : [ { "levels" : [ { "level_qty" : 12, "level_uom" : "ft" } ] }]
……留下我……
-measurements
--0
----levels
-----0
------level_qty => 2,
------level_uom => ft
我真正想要的是...
-measurements
--levels
---0
----level_qty => 2,
----level_uom => ft
我确定我错过了一些相当基本的东西(即与 php 相关而不与 mongodb 相关),但我是公认的业余爱好者,涉水太深。