MongoDb удалить запрос - PullRequest
       2

MongoDb удалить запрос

1 голос
/ 24 июля 2011

Я пытаюсь удалить что-то из моей базы данных mongoDb на основе _id, и клянусь, все остальное удаляется, кроме того, что я хочу. Я использую библиотеку codeigniter это функция:

public function delete($collection = "")
 {
    if(empty($collection))
    {
        show_error("No Mongo collection selected to delete from", 500);
    }

    try
    {
        $this->db->{$collection}->remove($this->wheres, array('fsync' => TRUE, 'justOne' => TRUE));
        return(TRUE);
    }
    catch(MongoCursorException $e)
    {
        show_error("Delete of data into MongoDB failed: {$e->getMessage()}", 500);
    }

 }

И я делаю это, чтобы удалить

$this->mongo_db->delete('videos', $data = array('_id' => $id));

Это определенно удаляет, но не то, что я хочу. Я новичок в Монго, так где я должен проверить на ошибки?

Ответы [ 2 ]

1 голос
/ 25 июля 2011

Это может быть вызвано многими элементами.

  • проверьте, является ли ваш $ id строкой или MongoId (если вы используете официальный драйвер php для php, я предполагаю, что его php-код, просто используйте new MongoId($id_as_string); (это должен быть MongoId)
  • вы также можете протестировать с опцией safe (без синхронизации) и проверить, что вы получите в результате ( "safe" массив возвращаемых запросов, не булево)
0 голосов
/ 25 июля 2011

Эта функция ожидает один аргумент, который является именем коллекции, вы вызываете его с двумя. Проверьте документы / источник, чтобы увидеть, как вы можете указать, где документ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...