mongoDB更新无法正常工作

时间:2011-08-16 08:04:14

标签: php mongodb mongodb-php

使用'Insert'我完全没问题。

PHP - MongoDB按照我想要的方式插入,但更新不能像我计划的那样工作。

在'插入'后没有“ip”和“time”字段的文件。

'ip'字段完全正常 - {'ip':'127.0.0.1'}

但不知怎的'time'数组字段表现得很奇怪。

{'time':{'realtime':'2011-01-01 12:00:00','mongotime':ISODate(“2011-01-01T00:00:00”)}}

“时间”应该插入到文档中,应该没问题。

但是这个“时间”数组和独立的“实时”,“mongotime”都插入到文档中。

结果,我得到了

{'time':{'realtime':'2011-01-01 12:00:00','mongotime':ISODate(“2011-01-01T00:00:00”)},'realtime': '2011-01-01 12:00:00','mongotime':ISODate(“2011-01-01T00:00:00”)}

我不知道为什么会这样......

这太奇怪了。

这是我的代码:

$query = array('username'=>"$username");
$realtime = date("Y-m-d H:i:s");
$mongotime = new Mongodate(strtotime($realtime));
$set_item = array('ip'=>"$IP", 'time'=> array('realtime'=>"$realtime", 
         'mongotime'=>  $mongotime));
$db->member->update($query, array('$set' => $set_item));

我是否以错误的方式理解mongoDB或者它是否表现不正确?

1 个答案:

答案 0 :(得分:1)

您的代码应该没问题。

在开发代码时,您可能会对其进行多次测试,并使用错误的修改器文档更新文档。现在里面有垃圾。

只需用干净的文档进行测试即可。