mongo php 入门

January 9th, 2010 by Jayson Leave a reply »

创建数据库连接

$connection = new Mongo(); //连接到localhost:27017
$connection = new Mongo( "example.com" ); // 连接到远程主机 (默认端口)
$connection = new Mongo( "example.com:65432" ); // 连接到特定端口的远程主机

获得一个数据库

如果想要获得的数据库不存在,mongodb会自动创建一个,而不会给出错误提示

$db = $connection->dbname;

获得一个集合

集合(collection)相当于关系型数据库中的表

$db = $connection->baz
$collection = $db->foobar;
//或者
$collection = $connection->baz->foobar;

插入一个文档

文档(document)相当于关系型数据库中的一条记录,mongo可以使用一个关联数组做为一条记录

$doc = array( "name" => "MongoDB",
   "type" => "database",
   "count" => 1,
   "info" => (object)array( "x" => 203,
       "y" => 102),
   "versions" => array("0.9.7", "0.9.8", "0.9.9")
);
$m = new Mongo();
$collection = $m->foo->bar;
$collection->insert( $doc );

查找

$obj = $collection->findOne(); //查找一个文档
echo $collection->count();//统计集合中文档数量
//使用游标获得所有的文档
$cursor = $collection->find();
foreach ($cursor as $id => $value) {
    echo "$id: ";
    var_dump( $value );
}

//条件查询
$query = array( "i" => 71 );
$cursor = $collection->find( $query );
while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

//创建索引
$coll->ensureIndex( array( "i" => 1 ) );  // create index on "i"
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending
Advertisement

Leave a Reply

You must be logged in to post a comment.