创建数据库连接
$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