С «Вставкой» у меня все в порядке.
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")}}
"время" должно бытьвставлен в документ и должен быть в порядке.
Но оба из этого массива "time" и независимого 'realtime', 'mongotime' вставлены в документ.
В результате я 'm get
{'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 или он ведет себя неправильно?