MongoDB:我如何使用PHP(而不是对象)插入javascript数组?

Oli*_*ier 2 php mongodb

$update = $col->update(array('_id' => 'test'), array('$push' => array('friends' => 1)), array('safe' => true, 'upsert' => true));
$test = $col->findOne(array('_id' => 'test'));
debug(compact('update', 'test'));
Run Code Online (Sandbox Code Playgroud)

不能按预期工作.

我得到(通过RockMongo检查):

{
   "_id": "test",
   "friends": {
     "0": 1 
   } 
}
Run Code Online (Sandbox Code Playgroud)

我希望/期望有这个:

{
   "_id": "test",
   "friends": [
     1 
   ] 
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?谢谢 !

Jus*_*ins 6

我花了很长时间一段时间地排除故障,为什么我的数据插入错误只是为了发现RockMongo没有正确显示数据.

它是相信的,因为RockMongo并没有真正将数据显示为Mongo文档,而是显示为PHP.

我发现firefor和chrome之间的几种不同的数据类型由于某种原因而有所不同...数组,日期,MongoID的

但最后,我在命令行上做了一个find(),这正确的.

我不相信RockMongo会告诉你什么,请看下面的例子.

还有一个原因你需要使用"安全"吗?

实际数据

在此输入图像描述

RockMongo说的是什么(错误的)

在此输入图像描述