PHP: MongoDB的CRUD操作

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: PHP: MongoDB的CRUD操作

资料:


文档: https://packagist.org/packages/mongodb/mongodb

驱动安装:https://docs.mongodb.com/drivers/php/

CURD: https://docs.mongodb.com/php-library/current/tutorial/crud/

安装


# 依赖扩展库 mongodb
$ pecl install mongodb
$ echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
$ composer require mongodb/mongodb

使用示例


<?php
require __DIR__ . '/vendor/autoload.php';
// 连接字符串
// mongodb://<username>:<password>@<address>:<port>
$client = new MongoDB\Client('mongodb://127.0.0.1:27017');
// $client->selectDatabase('data');
$db = $client->data;
// $db->selectCollection('users');
$table = $db->users;
// insert
$table->insertOne([
    'name' => 'Tom',
    'age'  => 23,
]);
// findOne
// 直接查询字符串形式的 _id不能获取到数据,需要传入一个ObjectId对象
$id = new MongoDB\BSON\ObjectId('6127613a52c83dfeff124962');
$result = $table->findOne([
    '_id' => $id
]);
var_dump($result);
echo $result['name'] . PHP_EOL; // Tom
echo $result['age'] . PHP_EOL; // 23
echo $result['_id'] . PHP_EOL; // 6127613a52c83dfeff124962
// updateOne
$result = $table->updateOne(
    ['_id' => $id],
    ['$set' => ['age' => 24]]
);
// deleteOne
$table->deleteOne(['_id' => $id]);
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
PHP
php的foreach神操作
php的foreach神操作
22 0
|
4月前
|
NoSQL JavaScript 前端开发
如何使用 Node.js 连接和操作 MongoDB 数据库?
如何使用 Node.js 连接和操作 MongoDB 数据库?
235 2
|
3月前
|
NoSQL MongoDB Python
深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。
68 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
23天前
|
缓存 NoSQL 关系型数据库
【MongoDB】MongoDB更新操作时是否立刻fsync到磁盘?
【4月更文挑战第2天】【MongoDB】MongoDB更新操作时是否立刻fsync到磁盘?
|
24天前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生操作 Mysql 增删改查案例
PHP 原生操作 Mysql 增删改查案例
87 0
|
3月前
|
SQL PHP 数据库
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
|
3月前
|
机器学习/深度学习 自然语言处理 NoSQL
|
3月前
|
存储 NoSQL MongoDB
Python小姿势 - Python操作MongoDB数据库
Python小姿势 - Python操作MongoDB数据库