MongoDB CRUD 概述

当本地安装完mongodb数据库后,或拿到一个新的数据库连接字符串时。对于新手来说, 避免不了手痒难耐,想对数据库大肆折腾一番。看到数据库当中存在自己定制化的数据后,心中的成就感油然而生。 本文介绍mongodb简单的crud操作,为广大mongodb入门用户止痒。

CRUD

CRUD操作,就是create, read, update,delete操作,即mongodb数据库文档的增删改查

create增加文档数据

mongodb的创建操作,就是向集合中添加或插入文档。如果集合和所在的数据库不存在,mongodb在插入数据前,会自动创建和添加集合和数据库。

mongodb提供了两种方法插入数据

复制代码
//插入一条数据
db.collection.insertOne()
//插入多条数据
db.collection.insertMany()

mongodb中,插入操作是针对一个文档的操作。insertMany()方法在执行时,会转化成insertOne()方法逐一插入文档。insertOne()方法是原子操作,而insertMany()方法,是非原子操作。

向集合中插入一条数据

复制代码
db.users.insertOne( //指定向user集合插入数据    
	{ //定义一份bson格式的文档        
    name: "sue",  //字段:值        
    age: 26, /字段:值        
    status: "pending" /字段:值     
  }
)

read读取文档数据

读取操作,就是从指定集合中获取数据。

在mongodb中,使用最简单的find方法,集合查询出数据

复制代码
db.collection.find()

用户可以指定查询条件,对执行find()所产生的游标进行限定

复制代码
db.users.find( //指定在集合users中查找
	{ age: { $gt: 18}}, //设置过滤条件    
  { name: 1, address: 1} //返回name和address字段
).limit(5) //限制返回前面5条数据,按照插入时间排序

update更新文档数据

更新操作,就是修改集合中已经存在的文档。

mongodb提供三种方式修改集合中的文档

复制代码
//修改一条文档
db.collection.updateOne()
//修改一条或多条文档记录
db.collection.updateMany()
//替换一个文档记录
db.collection.replaceOne()

在mongodb中,更新操作是针对一份文档的操作。updateMany()方法在mongodb执行过程中,也会转化成对文档的逐一更新操作。更新一份文档的操作是原子性的。而updateMany()方法,不是原子性的。

用户可以指定查询条件或过滤器,需要修改的字段和目标值,即可完成更新操作

复制代码
db.users.updateMany( //指定更新集合    
	{ age: {$lt: 18}},//设置过滤条件    
	{$set: { status: "rejecct"}//更新status字段
)

delete删除文档数据

删除操作,是从指定集合中删掉部分文档或全部文档。

mongodb提供了两种方式删除文档

复制代码
//删除一条文档记录
db.collection.deleteOne()
//删除一条或多条文档记录
db.collection.deleteMany()

在mongodb中,删除操作,是针对一份文档的操作。deleteMany()方法在mongodb执行过程中,也会转化成deleteOne()操作。mongodb对单文档的操作是原子的。deleteOne()操作是原子操作;而deleteMany()不是原子操作。

在deleteOne()和deleteMany()方法中,用户可以指定过滤器。语法与查询语句过滤器相同

复制代码
db.users.deleteMany( //指定集合users
	{ status: "reject"}  //设置过滤条件
)
相关推荐
qqxhb32 分钟前
系统架构设计师备考第67天——数据库系统的安全&系统架构的脆弱性
数据库·安全·系统架构·访问控制·完整性·脆弱性·身份鉴别
百锦再34 分钟前
金仓数据库提出“三低一平”的迁移理念
开发语言·数据库·后端·python·rust·eclipse·pygame
-Xie-1 小时前
Redis(二)——数据类型二
数据库·redis·缓存
帅次1 小时前
系统分析师-案例分析-数据库系统&数据仓库&反规范化技术&NoSQL&内存数据库
大数据·数据库·数据仓库·oracle·kafka·数据库开发·数据库架构
007php0071 小时前
某游戏大厂的常用面试问题解析:Netty 与 NIO
java·数据库·游戏·面试·职场和发展·性能优化·nio
我科绝伦(Huanhuan Zhou)1 小时前
Oracle AWR管理与快照操作完整指南
数据库·oracle·ffmpeg
北城以北88881 小时前
SSM--MyBatis框架之动态SQL
java·开发语言·数据库·sql·mybatis
best_virtuoso2 小时前
PostgreSQL CTE与临时表的概念与区别
数据库·postgresql
点心快奔跑2 小时前
超详细Windows系统MySQL 安装教程
数据库·windows·mysql
超级苦力怕3 小时前
【超详细】Redis下载教程 (Win/Linux)
数据库