php mongodb: Вызов неопределенного метода MongoDB::insert() в db.php


Я запускаю этот код:

    $db = new Mongo("mongodb://user:[email protected]: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

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

Author: JSNewbie, 2010-09-20

1 answers

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

Я не использовал это расширение, но этот метод не существует в классе 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));

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

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

 12
Author: Matthew, 2010-09-20 04:00:22