MongoDB не позволит мне обновитьPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 MongoDB не позволит мне обновить

Сообщение Anonymous »

Я думал, что _id должен был быть ObjectID, но при первой вставке он делает это правильно, когда я пытаюсь обновить его с помощью _id, это не работает.
Вот мой код

Код: Выделить всё

//Save Data
function savedata($data){
$collection = $this->db->retail_logs;
$this->data = $data;

if($this->data['_id'] == NULL || $this->data['_id'] == "")
{
$this->data['_id'] = new MongoId();
}
else
{
$this->data['_id'] = ObjectID($this->data['_id']);
}
try {
$collection->update(
array("_id"=>$this->data['_id']),
$this->data, // new lead document to insert
array("upsert" => true, "safe" => true)
);

print $this->data['_id'];
} catch (Exception $e) {
print "we are not able to update";
}
}
Я пытался сделать следующее

Код: Выделить всё

if($this->data['_id'] == NULL || $this->data['_id'] == "")
{
$this->data['_id'] = new MongoId();
}
else
{
$this->data['_id'] = ObjectID($this->data['_id']);
}
но, похоже, это не помогает.
Что происходит, так это то, что он в первый раз правильно вставляет ObjectID(idnumber), затем, когда он переходит к обновлению, удаляет ObjectID() и вставляет новый лид с тем же идентификатором, что и раньше.
Таким образом, это выглядит как «IDNUMBER».>

Подробнее здесь: https://stackoverflow.com/questions/116 ... -to-update
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»