Home > Backend Development > PHP7 > body text

Basic usage of mongodb in php7 (detailed code explanation)

藏色散人
Release: 2023-02-17 12:18:01
forward
5765 people have browsed it

Tip: PHP's mongodb extension has abandoned the original mongo extension starting from 5.6. The pecl download address of PHP7 is: https://pecl.php. net/package/mongodb, or choose the official development of mongodb: https://github.com/mongodb/mongo-php-library. This one on git supports the previous mongo writing method, but the mongodb on pecl does not support the previous writing method.

Let’s use the new API of PHP7 to summarize:

1: CURD

1: Link

Copy after login

root user; 123: Password; if there is no password, do not write

2: Query

['$gt'=>0]]; //查询条件 user_id大于0
$options = [
   'projection' => ['_id' => 0], //不输出_id字段
   'sort' => ['user_id'=>-1] //根据user_id字段排序 1是升序,-1是降序
];
$query = new MongoDB\Driver\Query($filter, $options); //查询请求
$list = $manager->executeQuery('location.box',$query); // 执行查询 location数据库下的box集合


foreach ($list as $document) {
    print_r($document); 
}
Copy after login

Query For more conditions, please refer to Section 2 for basic mongodb commands. Query

3: Add

 flase]);//如果要改成无序操作则加flase,并行执行
$bulk->insert(['user_id' => 2, 'real_name'=>'中国',]);
$bulk->insert(['user_id' => 3, 'real_name'=>'中国人',]);
$manager->executeBulkWrite('location.box', $bulk); //执行写入 location数据库下的box集合
Copy after login

4: Modify

 flase]);//如果要改成无序操作则加flase,并行执行
$bulk->update(
	['user_id' => 2],
	['$set'=>['real_name'=>'中国国']
]); 
//$set相当于mysql的 set,这里和mysql有两个不同的地方,
//1:字段不存在会添加一个字段;
//2:mongodb默认如果条件不成立,新增加数据,相当于insert


//如果条件不存在不新增加,可以通过设置upsert
//db.collectionName.update(query, obj, upsert, multi);

$bulk->update(
	['user_id' => 5],
	[
		'$set'=>['fff'=>'中国国']
	],
	['multi' => true, 'upsert' => false] 
	//multi为true,则满足条件的全部修改,默认为true,如果改为false,则只修改满足条件的第一条
	//upsert为 treu:表示不存在就新增
);
$manager->executeBulkWrite('location.box', $bulk); //执行写入 location数据库下的box集合
Copy after login

ordered Settings

1: The default is true. Insert and update data are executed in order. If an error occurs, the subsequent execution is stopped. Mongo officially calls it serial.
2: If it is false, mongo inserts updated data concurrently. If an error occurs in the middle, it will not affect subsequent operations. Mongo officially calls it parallel

5: Delete

 flase]);//如果要改成无序操作则加flase,并行执行
$bulk->delete(['user_id'=>5]);//删除user_id为5的字段
$manager->executeBulkWrite('location.box', $bulk); //执行写入 location数据库下的box集合
Copy after login

delete can also set different deletion methods through limit

$bulk->delete(['user_id' => 1], ['limit' => 1]);   // limit 为 1 时,删除第一条匹配数据
$bulk->delete(['user_id' => 2], ['limit' => 0]);   // limit 为 0 时,删除所有匹配数据,默认删除所有
Copy after login

6: Capture exception

MongoDB\Driver\Exception\AuthenticationException
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception\Exception //所有驱动程序异常的公共接口
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception\WriteException
Copy after login

Instructions: http://php.net/manual/zh /class.mongodb-driver-exception-authenticationexception.php

The above is the detailed content of Basic usage of mongodb in php7 (detailed code explanation). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact [email protected]
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!