9

我正在运行这段代码:

    $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

据我所知,我已经安装了客户端:

替代文字

我也在运行 php 5.2.6

有什么问题?谢谢。

4

1 回答 1

13

每个 DB 包含一个或多个集合。您正在尝试插入数据库,而不是集合。

我没有使用该扩展,但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));

(编辑:我第一次没有看到你的代码片段。这正是你正在做的。)

我建议您阅读教程以获取更多信息。

于 2010-09-20T04:00:22.737 回答