要将MongoDB与PHP一起使用,您需要使用MongoDB PHP驱动程序.请务必下载最新版本.现在解压缩存档并将php_mongo.dll放入PHP扩展目录(默认情况下为"ext")并将以下行添加到php.ini文件中 :
extension = php_mongo.dll
建立连接并选择数据库
建立连接,你需要指定数据库名称,如果数据库不存在,那么MongoDB会自动创建它.
以下是连接数据库的代码片段 :
mydb; echo "Database mydb selected";?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selected
创建集合
以下是代码用于创建集合的片段 :
mydb; echo "Database mydb selected"; $collection = $db->createCollection("mycol"); echo "Collection created succsessfully";?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selectedCollection created succsessfully
插入文档
要将文档插入MongoDB,使用 insert()方法.
以下是插入文档的代码片段 :
mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; $document = array( "title" => "MongoDB", "description" => "database", "likes" => 100, "url" => "http://www.it1352.com/OnLineTutorial/mongodb/index.html", "by" => "it1352" ); $collection->insert($document); echo "Document inserted successfully";?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selectedCollection selected succsessfullyDocument inserted successfully
查找所有文件
要从集合中选择所有文档,请使用find()方法.
以下是选择所有文档的代码片段 :
mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; $cursor = $collection->find(); // iterate cursor to display title of documents foreach ($cursor as $document) { echo $document["title"] . "\n"; }?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selectedCollection selected succsessfully { "title": "MongoDB"}
更新文档
要更新文档,您需要使用update()方法.
在以下示例中,我们将插入文档的标题更新为 MongoDB Tutorial .以下是更新文档的代码片段 :
mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; // now update the document $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB Tutorial"))); echo "Document updated successfully"; // now display the updated document $cursor = $collection->find(); // iterate cursor to display title of documents echo "Updated document"; foreach ($cursor as $document) { echo $document["title"] . "\n"; }?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selectedCollection selected succsessfullyDocument updated successfullyUpdated document { "title": "MongoDB Tutorial"}
删除文档
要删除文档,需要使用remove()方法.
在下面的示例中,我们将删除标题为 MongoDB Tutorial 的文档.以下是删除文档的代码片段 :
mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; // now remove the document $collection->remove(array("title"=>"MongoDB Tutorial"),false); echo "Documents deleted successfully"; // now display the available documents $cursor = $collection->find(); // iterate cursor to display title of documents echo "Updated document"; foreach ($cursor as $document) { echo $document["title"] . "\n"; }?>
当程序执行时,它将产生以下结果 :
Connection to database successfullyDatabase mydb selectedCollection selected succsessfullyDocuments deleted successfully
在上面的例子中,第二个参数是布尔类型,用于 remove()方法的 justOne 字段.
剩余的MongoDB方法 findOne(),save(),limit(),skip(),sort()等与上面解释的相同.