问题描述
|
$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\'));
不能按预期工作。
我得到(通过RockMongo检查):
{
\"_id\": \"test\",\"friends\": {
\"0\": 1
}
}
我想要/期望有这个:
{
\"_id\": \"test\",\"friends\": [
1
]
}
有任何想法吗 ?
谢谢 !
解决方法
我花了很多时间回过头来排查为什么我的数据被错误地插入的原因,只是为了发现RockMongo无法正确显示数据。
之所以如此,是因为RockMongo并没有真正将数据显示为Mongo文档,而是显示为PHP。
我发现由于某些原因,Firefox和chrome之间的几种不同数据类型有所不同...数组,日期,MongoID \
但是最后,我在命令行上执行了find(),这是正确的。
我不相信RockMongo会告诉您什么,请参见下面的示例。
还有您需要使用\“ safe \”的原因吗?
实际数据
RockMongo说什么(错误)