MongoDB 增删改查 常用sql总结

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB 增删改查 常用sql总结

本文为博主原创,转载请注明出处:

1.切换到指定数据库:如果不存在则创建

use database

 

2.查看所有文档

show tables
show collections

 

3.创建表

#创建文档
db.createCollection("my_test_collection")
#如果不存在则创建,存在则新增插入
db.test.insert({"_id":"520","name":"xiaoming"})

 

4.插入数据

#插入一条数据
db.test.insert({"_id":"520","name":"xiaoming"})
#插入多条数据
db.my_test_collection.insertMany([{"name":"HaiCoder", "url":"www.haicoder.net"}, {"name":"C++", url:"https://haicoder.net/cpp/cpp-tutorial.html"}])

 

5.新增修改数据 upsert

db.my_test_collection.update({"name":"test"}, {"$set":{"url":"www.haicoder.net"}}, {"upsert":true})

  MongoDB 的 update 方法的第三个参数是 upsert,这个参数是个布尔类型,默认是 false。当它为 true 的时候,update 方法会首先查找与第一个参数匹配的记录,再用第二个参数更新之,如果找不到与第一个参数匹配的的记录,就插入一条。

 

6.数组字段增加、移除元素

## 新增数组数据
db.my_test_collection.insert({"name":"haicoder", "course":["c++","python","java"]})
## 更新数组数据,新增
db.my_test_collection.update({"name":"haicoder"}, {"$push":{"course" : "golang"}})
## 更新数组数据,删除
db.my_test_collection.update({"name":"haicoder"}, {"$pull":{"course" : "java"}})

 

7.根据条件修改

db.my_test_collection.update({"_id" : ObjectId("5f62d74744c83190d8f6c3be"}, {"$set":{"name" : "HAICODER"}})

  这个只会更新一条数据,如果要修改多条需要设置 multi 为true

db.my_test_collection.update({"_id" : ObjectId("5f62d74744c83190d8f6c3be")}, {"$set":{"name" : "HAICODER"}}, { multi: true })

  在 MongoDB 中,通过 update 更新记录时,其中的 update 字段,如果我们不指定 set 设置器,那么默认就是将整个匹配到的文件进行替换,如果指定了 set,那么就是将该字段进行替换,如果该字段不存在,则插入该字段。

  因此,我们在使用 update 更新 mongDB 的记录时,如果仅仅是想更新某个字段,而不是对整个文档进行替换,那么一定不能忘记 set 设置器,否则,数据就会丢失。

 

8.添加字段或移除字段

#对文档my_test_collection 所有数据添加 activeTime 并设置初始值
db.getCollection('my_test_collection').update({},{$set:{activeTime:1669305600000}},{multi:true});
# 给某一条添加字段
db.qy_farmland.update({"_id": 13320},{"$set":{"status":"disable"}},  false, true);
# 去除某一字段
db.qy_farmland.update({"_id": 13438},{"$unset":{"status":"disable"}},  false, true);

 

9.删除指定元素

db.my_test_collection.remove({"name" : "golang"})
  remove 删除符合条件的单条记录
db.my_test_collection.remove({"url" : "www.haicoder.net"}, {justOne:true})

 

10.删除文档

db.my_test_collection.drop()
  删除单条记录 
db.haicoder.remove({"url" : "www.haicoder.net"}, {justOne:true})

 

11.查询sql总结

  https://www.cnblogs.com/zjdxr-up/p/10698505.html

 

12. MongoDB 官网操作api

    https://www.mongodb.com/docs/v3.2/reference/operator/update-array/

 

标签: MongoDB

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
5月前
|
SQL DataWorks NoSQL
DataWorks产品使用合集之如何将SQL Server中的数据转存到MongoDB
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
281 1
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
5月前
|
SQL Java 数据库连接
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
72 2
|
5月前
|
NoSQL MongoDB 数据库
MongoDB的CURD(增删改查操作)
MongoDB的CURD(增删改查操作)
74 0
|
6月前
|
SQL 存储 搜索推荐
SQL server增删改查(1)
SQL server增删改查(1)
140 0
|
6月前
|
SQL 资源调度 NoSQL
实时计算 Flink版产品使用合集之使用Flink CDC SQL MongoDB Connector时,可以采取什么措施来提升数据消费速率
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
100 0
|
6月前
|
SQL Java 数据库连接
【mybatis】动态sql之批量增删改查
【mybatis】动态sql之批量增删改查
88 0
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
20天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。