作者:王欣纶淑玲 | 来源:互联网 | 2023-06-05 10:16
数据库|MongoDBMongoDB数据库-MongoDB注意,本文所有的代码实例均以php代码做演示。app照片书定制源码,vscode运行bug,ubuntu挂载uuid,to
数据库|MongoDB
MongoDB
数据库-MongoDB
注意,本文所有的代码实例均以php代码做演示。
app 照片书 定制 源码,vscode运行bug,ubuntu挂载uuid,tomcat弹出窗口,sqlite 字段约束,阿里云轻云服务器怎么样,鼠标随机移动插件,web前端画图开源框架,爬虫工具电脑,php和python区别,深圳关键词seo推广公司,网站用户注册模板,网页制作小说网网站,改flash模板,vb.net 多页面浏览器,客户档案信息管理系统源码代码,社交平台程序lzw
安装MongoDB扩展
超级答题源码,右键怎么打开vscode,ubuntu安装蜜罐,tomcat报端口占用,threadpool爬虫,php 验证姓名,谷歌seo推广公司北海,源码去哪个网站下载比较好,html静态购物网站模板lzw
扩展包安装地址:https://pecl.php.net/package/mongodb
小学生网页源码,ubuntu中$的用法,tomcat卸載后无法安装,网页爬虫 excel表,php数据库优缺点,广平seo优化lzw
下载最稳定的版本,然后把扩展包上传到服务器上。
# 解压tar zxf mongodb-1.8.0.tgz cd mongodb-1.8.0# 安装/usr/local/php/bin/phpize./configure --with-php-cOnfig=/usr/local/php/bin/php-config make & make install# 修改php配置文件php.ini# 加入一行extension=mongodb# 测试php -m | grep mongodb
mongodb扩展教学:https://docs.mongodb.com/php-library/current/reference/
使用phplib
composer require mongodb/mongodb
插入文档
和Mysql类似,MongoDB插入文档也能插入单条或多条。下面看插入单条:
$mOngo= new MongoDB\Client();$collect = $mongo->users->users;$collect->insertOne(['name'=> 'james', 'age' => 35]);
如果没有声明_id字段,该操作会自动为新文档创建一个_id字段。当然,我们也可以手动指定_id的值
$collect->insertOne(['_id' => 1,'name'=> 'james', 'age' => 35]);
该函数执行成功返回 MongoDB\InsertOneResult object,失败则会抛出异常。
接下来看如何插入多个文档:
$collect->insertMany([ [ 'name'=>'paul', 'age' => 34], [ 'name'=>'durant', 'age' => 31], [ 'name'=> 'curry', 'age' => 31]]);
需要注意的是,在批量插入的时候,如果其中有一个文档插入失败,后面的就不会继续插入,但前面的会插入。
# 第一条会插入成功,第二条时插入失败,后面的也不会继续插入$collect->insertMany([ [ 'name'=>'paul', 'age' => 34], ['_id'=> 1, 'name'=> 'jeans', 'age' => 1], // _id=1已存在 [ 'name'=>'durant', 'age' => 31], [ 'name'=> 'curry', 'age' => 31]]);
如想忽略错误,继承插入,则需给该方法添加个选项ordered,设置为false.
$collect->insertMany([ [ 'name'=>'jay', 'age' => 34], ['_id'=> 1, 'name'=> 'jeans', 'age' => 1], // _id=1已存在 [ 'name'=>'xtf', 'age' => 31],],['ordered' => false]);
注意:上述遇到错误能够插入成功,但是该语句会抛出异常。如想忽略错误,继续程序的执行,则需要去捕获异常。
删除文档
注意:删除是危险操作,不能恢复,不能撤回。
通过查询语句删除文档:
/** * 目前有4个name为james的文档 */ # 删除一个文档$ret = $collect->deleteOne(['name'=>'james']);printf($ret->getDeletedCount()); // 1# 删除满足条件的所有文档$ret = $collect->deleteMany(['name'=>'james']);printf($ret->getDeletedCount());
删除所有文档(其实是整个集合都被删除了):
$collect->drop();
MongoDB文档的创建以及删除,使用起来非常的简单。
推荐:《MongoDB视频教学》