MongoDB:我如何插入一个javascript数组与PHP(而不是一个对象)?

MongoDB:我如何插入一个javascript数组与PHP(而不是一个对象)?

问题描述:

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

不按预期工作。MongoDB:我如何插入一个javascript数组与PHP(而不是一个对象)?

我获得的(通过RockMongo检查):

{ 
    "_id": "test", 
    "friends": { 
    "0": 1 
    } 
} 

我想/希望有这样的:

{ 
    "_id": "test", 
    "friends": [ 
    1 
    ] 
} 

任何想法? 谢谢!

+0

怎么样'阵列( '朋友'=>阵列(1))' ? – Nick 2011-05-26 15:22:57

我花了大量的时间回到故障排除为什么我的数据插入错误只是为了找出RockMongo没有显示数据正确。

它相当重要,因为RockMongo并不真正将数据显示为Mongo文档,而是将其作为PHP。

我发现这对情侣Firefox和Chrome之间的不同数据类型的不同,出于某种原因...阵列,日期,MongoID的

但最终,我的命令做了发现()正确。

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

也有你需要使用“安全”的原因吗?

实际数据

enter image description here

RockMongo说什么(错误)

enter image description here

+0

应该有这个想法!只是用于调试目的(等待退货等)。谢谢。 – Olivier 2011-05-26 20:27:29

+0

另外* @ olouv *,你想知道一些疯狂的PHP和数组与JSON对象的疯狂。我从我做过的演示中看到一个例子,https://github.com/gatesvp/php_get_started/blob/master/step10.php – 2011-05-27 17:10:35