简体   繁体   中英

php mongodb : Call to undefined method MongoDB::insert() in db.php

I'm running this code:

    $db = new Mongo("mongodb://user:pw@flame.mongohq.com:27081/dbname");
    $collection = $db->foobar;

    $collection->insert($content);

I'm trying to test mongohq by just creating a random collection.

I'm getting this error:

Fatal error:  Call to undefined method MongoDB::insert() in /ajax/db.php on line 24

I have the client installed as far as I know:

替代文字

I'm also running php 5.2.6

What's the problem? Thanks.

Each DB contains one or many collections. You are trying to insert into the DB, instead of the collection.

I've not used that extension, but that method doesn't exist in the MongoDB class according to the documentation. Instead, it is MongoCollection::insert . You get at a collection by:

// $collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar; 
$collection->insert(array('x' => 1));

(The commented line is equivalent to the line below it.)

I'm guessing that you are doing something like:

$collection = $mongo->foo;
$collection->insert(array('x' => 1));

(Edit: I didn't see your code snippet the first time. That is precisely what you are doing.)

I suggest that you read the tutorial for more information.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM