php mongodb: вызов неопределенного метода MongoDB :: insert () в db.php - PullRequest
8 голосов
/ 20 сентября 2010

Я использую этот код:

    $db = new Mongo("mongodb://user:pw@flame.mongohq.com:27081/dbname");
    $collection = $db->foobar;

    $collection->insert($content);

Я пытаюсь проверить mongohq, просто создав случайную коллекцию.

Я получаю эту ошибку:

Fatal error:  Call to undefined method MongoDB::insert() in /ajax/db.php on line 24

У меня установлен клиент, насколько мне известно:

alt text

Я также использую php 5.2.6

В чем проблема?Спасибо.

1 Ответ

12 голосов
/ 20 сентября 2010

Каждая БД содержит одну или несколько коллекций. Вы пытаетесь вставить в БД вместо коллекции.

Я не использовал это расширение, но этот метод не существует в классе MongoDB согласно документации. Вместо этого это MongoCollection::insert. Вы попадаете в коллекцию по:

// $collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar; 
$collection->insert(array('x' => 1));

(закомментированная строка эквивалентна строке под ней.)

Я предполагаю, что вы делаете что-то вроде:

$collection = $mongo->foo;
$collection->insert(array('x' => 1));

(Изменить: я не видел ваш фрагмент кода в первый раз. Это именно то, что вы делаете.)

Я предлагаю вам прочитать учебник для получения дополнительной информации.

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