Обновите запись в mongodb с помощью php

0

Я хочу обновить запись, и я уже знал ее _id в mongodb. Я последовал за этим: MongoDB $ set не обновляет запись

$idVal ="some value";

$new_data =array('$set'=> array("Domain"=>$domain), 
array("author"=>$author),array("title"=>$title));

$collectionList->update(array("_id"=>$idVal), $new_data);

Сообщение об ошибке - сообщение об ошибке127.0.0.1: 27017: Неизвестный модификатор: 0

Что не так с моим запросом? заранее спасибо!

  • 0
    Какую библиотеку Mongo вы используете.?
  • 0
    Я скачал 2.6.7
Показать ещё 1 комментарий
Теги:

2 ответа

0

Вы указали неверные данные обновления. Если вы посмотрите более $new_data массив $new_data, вы заметите, что это массив с 3 ключами:

$new_data = array(
    '$set' => array("Domain"=>$domain),
    0 => array("author"=>$author),
    1 => array("title"=>$title)
);

Вот почему у вас есть ошибка "Неизвестный модификатор: 0", потому что 0 не является оператором обновления mongodb.

В вашем случае массив $new_data должен быть:

$new_data = array(
    '$set' => array(
        "Domain"=>$domain, 
        "author"=>$author,
        "title"=>$title
    )
);
0

Установите $ idVal с любым номером и попробуйте.

Пример:

$idVal =123456;

$new_data =array('$set'=> array("Domain"=>$domain), 
array("author"=>$author),array("title"=>$title));

$collectionList->update(array("_id"=>$idVal), $new_data);
  • 0
    попробовал orignial id был 54d5a04a7fba9ad0788b4568, я просто не поставил его там

Ещё вопросы

Сообщество Overcoder
Наверх
Меню