PHP与MongoDB
MongoDB是一种非关系型数据库,它使用BSON(类似于JSON)格式存储数据,MongoDB在2007年由MongoDB Inc.开发并首次发布,它是一个基于分布式文件系统的数据库,可以轻松地扩展到数百台服务器,MongoDB支持多种编程语言,包括PHP,在本教程中,我们将介绍如何使用PHP与MongoDB进行交互。
我们需要安装PHP的MongoDB扩展,在Linux系统上,可以使用以下命令安装:
sudo apt-get install php-mongo
我们需要配置MongoDB,首先启动MongoDB服务:
sudo service mongod start
我们需要连接到MongoDB,在PHP中,我们可以使用mongo_connect()
函数连接到MongoDB:
<?php $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); ?>
现在我们已经连接到了MongoDB,我们可以开始执行各种操作,我们可以在数据库中创建一个集合:
<?php $bulk = new MongoDBDriver\BulkWrite; $bulk->insert(['name' => 'John', 'age' => 30]); $bulk->insert(['name' => 'Jane', 'age' => 28]); $result = $manager->executeBulkWrite('test.users', $bulk); echo "Inserted " . $result->getInsertedCount() . " documents."; ?>
要查询集合中的文档,我们可以使用findOne()
或find()
函数:
<?php $filter = ['name' => 'John']; $options = []; // This is an empty document (i.e. no projection) so we can access all fields of the document. If you want to select only specific fields, use $projection parameter instead. $document = $manager->findOne('test.users', $filter, $options); print_r($document); ?>
要更新集合中的文档,我们可以使用updateOne()
或updateMany()
函数:
<?php $filter = ['name' => 'John']; $newObj = ['$set' => ['age' => 31]]; // Update age field of John to 31. If the name does not exist in the collection, nothing will happen. To update a non-existing document with an upsert option, use $updateOne or $updateMany functions instead. $options = []; // This is an empty document (i.e. no projection) so we can access all fields of the document. If you want to select only specific fields, use $projection parameter instead. $result = $manager->updateOne('test.users', $filter, $newObj, $options); echo "Updated " . $result->getModifiedCount() . " documents."; ?>
要删除集合中的文档,我们可以使用deleteOne()
或deleteMany()
函数:
<?php $filter = ['name' => 'John']; $options = []; // This is an empty document (i.e. no projection) so we can access all fields of the document. If you want to select only specific fields, use $projection parameter instead. $result = $manager->deleteOne('test.users', $filter, $options); echo "Deleted " . $result->getDeletedCount() . " documents."; ?>
就是使用PHP与MongoDB进行基本操作的方法,还有更多高级功能和用法等待你去探索,希望本教程能帮助你入门PHP与MongoDB的世界。
还没有评论,来说两句吧...