添加

$collection = (new MongoDB\Client)->test->users;

// 增加一条
$insertOneResult = $collection->insertOne([
'username' => 'admin',
'email' => 'admin@example.com',
'name' => 'Admin User',
]); // 增加多条
$insertManyResult = $collection->insertMany([
[
'username' => 'admin',
'email' => 'admin@example.com',
'name' => 'Admin User',
],
[
'username' => 'test',
'email' => 'test@example.com',
'name' => 'Test User',
],
]);

查询

$collection = (new MongoDB\Client)->test->zips;
// 查找单条
// 根据id查
$document = $collection->findOne(['_id' => '94301']);
// 根据系统自动生成的id查
$data = $collection->findOne(['_id' => new MongoDB\BSON\ObjectId('5c841cc9b0b4f48a3a05b1e2')]); // 查找多条
$cursor = $collection->find(['city' => 'JERSEY CITY', 'state' => 'NJ']);
// 多条件查询
$cursor = $collection->find(
// 查询条件
[
'cuisine' => 'Italian',
'borough' => 'Manhattan',
// 使用正则查询
'city' => new MongoDB\BSON\Regex('^garden', 'i'),
'city' => ['$regex' => '^garden', '$options' => 'i'],
],
// 查询字段
[
'projection' => [
'name' => 1,
'borough' => 1,
'cuisine' => 1,
],
// 查询条数
'limit' => 4,
// 排序
'sort' => ['pop' => -1],
// 跳过条数
‘skip’ => 3,
],
); // 聚合
$cursor = $collection->aggregate([
// 分组,_id为分组的依据,以下为常用表达式
// $sum:计算总和,$sum:1同count表示计数
// $avg:计算平均值
// $min:获取最小值
// $max:获取最大值
// $push:在结果文档中插入值到一个数组中
// $first:根据资源文档的排序获取第一个文档数据
// $last:根据资源文档的排序获取最后一个文档数据
['$group' => ['_id' => '$state', 'count' => ['$sum' => 1]]],
['$sort' => ['count' => -1]],
['$limit' => 5],
// 过滤数据
[$match => [age => [$gt => 20]]],
]);

修改

$updateResult = $collection->updateOne(
['state' => 'ny'],
['$set' => ['country' => 'us']]
); $updateResult = $collection->updateMany(
['state' => 'ny'],
['$set' => ['country' => 'us']]
);

删除

$deleteResult = $collection->deleteOne(['state' => 'ny']);
$deleteResult = $collection->deleteMany(['state' => 'ny']);

php--MongoDB的使用的更多相关文章

  1. 【翻译】MongoDB指南/聚合——聚合管道

    [原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...

  2. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  3. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  4. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  5. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  6. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

  8. MongoDB系列(一):简介及安装

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...

  9. [原]分享一下我和MongoDB与Redis那些事

    缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...

  10. 用MongoDB分析合肥餐饮业

    看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...

随机推荐

  1. 【Android】四大组件归纳总结

    随着学习持续更新 四大组件均可使用android:process="name"在Manifest中声明成独立进程 Activity 生命周期 4种启动模式 Android使用回退栈 ...

  2. 服务发现组件之 — Eureka

    前言 现在流行的微服务体系结构正在改变我们构建应用程序的方式,从单一的单体服务转变为越来越小的可单独部署的服务(称为微服务),共同构成了我们的应用程序.当进行一个业务时不可避免就会存在多个服务之间调用 ...

  3. AspNetCore3.1_Secutiry源码解析_3_Authentication_Cookies

    系列文章目录 AspNetCore3.1_Secutiry源码解析_1_目录 AspNetCore3.1_Secutiry源码解析_2_Authentication_核心流程 AspNetCore3. ...

  4. iview的input框校验添加v-modal.number会影响校验,还是依照API使用number来转换number类型

    公司项目使用了iview2.0版本的,有一个需求是需要把里面的值换成number类型并且校验,代码大致如下,使用了v-modal.number来实现转换, <FormItem label=&qu ...

  5. How to do error checking in CUDA(如何在CUDA里做错误检查)

    https://codeyarns.com/2011/03/02/how-to-do-error-checking-in-cuda/ Error checks in CUDA code can hel ...

  6. 我用STM32MP1做了个疫情监控平台2—Qt环境搭建

    目录 1.嵌入式Qt简介 2.查看开发板Qt库的版本 3.主机搭建Qt环境 4.第一个Qt程序--Hello World 5.一些问题 @ 1.嵌入式Qt简介 Qt 是一个跨平台的应用程序开发框架.使 ...

  7. HTML每日学习笔记(3)

    7.17.2019 XHTML 1.XHTML与HTML的区别: XHTML 元素必须被正确地嵌套. XHTML 元素必须被关闭. 标签名必须用小写字母. XHTML 文档必须拥有根元素.(所有的 X ...

  8. Natas17 Writeup(sql盲注之时间盲注)

    Natas17: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) ...

  9. Mycat的简介及安装

    Mycat简介: 1.1Mycat含义 简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID.可以替代Mysql的加强版数据库 一个可以视为“Mysql” ...

  10. c# 自定义含有标题的容器控件(标题背景为渐变色)

    1.控件效果图 此效果图中的标题颜色.字号及字体可以在控件属性中设置.标题背景的渐变色及布局内容的背景色也可以在属性中设置. 2.实现的代码(用户控件) public partial class Uc ...