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
Насколько я знаю, у меня установлен клиент:
Я также использую php 5.2.6
В чем проблема? Спасибо.
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));
(Правка: Я не видел ваш фрагмент кода в первый раз. Это именно то, что вы делаете.)
Я предлагаю вам прочитать учебник для получения дополнительной информации.