php mongodb:在db.php中调用未定义的方法MongoDB :: insert()

时间:2010-09-20 01:45:39

标签: php mongodb mongodb-php

我正在运行此代码:

    $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 个答案:

答案 0 :(得分:12)

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

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

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

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