tp6 mongodb简单的增删改查

2024-04-10 18:52
文章标签 简单 mongodb 改查 增删 tp6

本文主要是介绍tp6 mongodb简单的增删改查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

controller/mongo.php

<?phpnamespace app\controller;
use think\facade\Db;
class Mongo
{/*** 插入数据* */public function insert(){// 插入数据$data = ['name' => 'zhangsan','email' => 'zhangsan@example.com','children'  => ['_id' =>  1,'name' => "Child 2"]];$res = Db::name('test')->insert($data);dd($res);}/*** 批量插入数据* */public function insertAll() {$data = [['name' => 'John','email' => 'john@example.com','addr' => ['city' => 'New York','state' => 'NY','zip' => '10001']],['name' => 'Jane','email' => 'jane@example.com','addr' => ['city' =>'Los Angeles','state' => 'CA','zip' => '90001']]];$res = Db::name('test')->insertAll($data);dd($res);}/*** 查询数据* */public function find() {//严格区分字符串和数字类型//按照条件查询,查询单个$res = Db::name('test')->where('name', 'John')->find();$res1 = Db::name('test')->where('name', 'John')->select();//根据_id查询$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->find();//根据_id in 查询$res3 = Db::name('test')->where('_id', 'in', ['661602b5203500009e0060c3', '661603a2203500009e0060c4'])->select();//使用子文档查询$res4 = Db::name('test')->where('addr.city', 'New York')->select();//使用子文档查询,子文档是一个多维数组$res5 = Db::name('test')->where('children.1._id', 1)->select();dd($res5);}/*** 更新数据* */public function update() {//更新单个$res = Db::name('test')->where('name', 'John')->update(['email' => 'john@example.com1']);//更新多个$res1 = Db::name('test')->where('name', 'John')->update(['email' => 'john@example.com1']);//根据_id更新$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->update(['email' =>'john@example.com1']);dd(1);}/*** 删除数据* */public function delete() {//删除单个$res = Db::name('test')->where('name', 'John')->delete();//删除多个$res1 = Db::name('test')->where('name', 'John')->delete();//根据_id删除$res2 = Db::name('test')->where('_id', '661602b5203500009e0060c3')->delete();dd(1);}/*** 聚合查询* */public function aggregate() {//简单查询$count = Db::connect('mongo')->table('test')->count();//单个条件查询$count1 = Db::connect('mongo')->table('test')->where('name', 'zhangsan')->count();}
}

config/database.php

 'mongo' => [// 数据库类型'type'            => 'mongo',// 设置MongoDB的主机地址'hostname'        => '127.0.0.1',// 设置MongoDB的端口'hostport'        => '27017',// 设置MongoDB的数据库名'database'        => 'test',// 是否是复制集'is_replica_set'  => false,// 用户名'username'        => '',// 密码'password'        => '',// MongoDB连接的其它选项'options'         => [],// 设置MongoDB的连接参数'uri_options'     => [],],

route/app.php

//mongo
Route::post('mongo/insert', 'mongo/insert');
Route::post('mongo/insertAll', 'mongo/insertAll');
Route::post('mongo/find', 'mongo/find');
Route::post('mongo/delete', 'mongo/delete');
Route::post('mongo/aggregate', 'mongo/aggregate');

这篇关于tp6 mongodb简单的增删改查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891857

相关文章

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示