Как добавлять данные в MongoDB на php? Разбираюсь с MongoDB. Нашла примеры работы в php с Mongo, пытаюсь написать метод добавления данных в БД://класс для работы с MongoDB class Database { public function save($data){ $m = new MongoClient(); $m -> selectDB(DB_NAME) -> selectCollection(COLLECTION_NAME); $m -> insert($data); $m -> close(); } } Ошибка на метод insert(). Php его не видит. Не могу понять почему, делаю по примеру отсюда: metanit.com/nosql/mongodb/3.3.php
Ошибка возникает из-за того, что метод insert() был вызван не у объекта коллекции, а у объекта MongoClient. Вам нужно передать результат вызова selectCollection() в переменную и у этой переменной вызывать метод insert() для добавления данных в коллекцию.
Ниже приведен исправленный код:
class Database { public function save($data){ $m = new MongoClient(); $collection = $m->selectDB(DB_NAME)->selectCollection(COLLECTION_NAME); $collection->insert($data); $m->close(); } }
Теперь метод insert() вызывается у объекта $collection, который представляет собой коллекцию в базе данных MongoDB.
Ошибка возникает из-за того, что метод insert() был вызван не у объекта коллекции, а у объекта MongoClient. Вам нужно передать результат вызова selectCollection() в переменную и у этой переменной вызывать метод insert() для добавления данных в коллекцию.
Ниже приведен исправленный код:
class Database {public function save($data){
$m = new MongoClient();
$collection = $m->selectDB(DB_NAME)->selectCollection(COLLECTION_NAME);
$collection->insert($data);
$m->close();
}
}
Теперь метод insert() вызывается у объекта $collection, который представляет собой коллекцию в базе данных MongoDB.