注重,本文一切的代码实例均以php代码做演示。
装置MongoDB扩大
扩大包装置地点:https://pecl.php.net/package/mongodb
下载最稳固的版本,然后把扩大包上传到服务器上。
# 解压
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视频教程》
以上就是MongoDB文档的建立及删除(php代码实例)的细致内容,更多请关注ki4网别的相干文章!
收藏 | 0