MongoDB 增删改查 常用sql总结

mongodb,删改,常用,sql,总结 · 浏览次数 : 533

小编点评

**MongoDB 文档操作 API** **切换数据库** ```python db.switch_to("my_new_database") ``` **查看所有文档** ``` db.show_tables() ``` **创建表** ```python db.test.create_collection("my_test_collection") ``` **插入数据** ```python db.test.insert_one({"_id": "520", "name": "xiaoming"}) ``` **新增修改数据** ```python upsertdb.my_test_collection.update( {"name": "test"}, {"$set": {"url": "www.haicoder.net"}}, {"upsert": True}, ) ``` **数组字段增加、移除元素** ```python db.my_test_collection.insert_one({"name": "haicoder", "course": ["c++", "python", "java"]}) db.my_test_collection.update( {"name": "haicoder"}, {"$push": {"course": "golang"}}, {"upsert": True}, ) db.my_test_collection.update( {"name": "haicoder"}, {"$pull": {"course": "java"}}, {"upsert": True}, ) ``` **根据条件修改** ```python db.my_test_collection.update( {"_id": ObjectId("5f62d74744c83190d8f6c3be")}, {"$set": {"name": "HAICODER"}}, {"multi": True}, ) ``` **添加字段或移除字段** ```python db.my_test_collection.update( {"_id": ObjectId("5f62d74744c83190d8f6c3be")}, {"$set": {"activeTime": 1669305600000}}, {"multi": True}, ) db.qy_farmland.update( {"_id": 13320}, {"$set": {"status": "disable"}}, {"upsert": False, "multi": True}, ) ``` **删除指定元素** ```python db.my_test_collection.remove({"name": "golang"}) ``` **删除文档** ```python db.my_test_collection.delete() db.haicoder.delete({"url": "www.haicoder.net"}) ``` **查询 SQL 总结** ```python # 此链接指向 MongoDB 的文档摘要页面 sql_summary = "https://www.cnblogs.com/zjdxr-up/p/10698505.html" ``` **MongoDB 操作 API** * `db.switch_to()` 用于切换数据库。 * `db.show_tables()` 用于查看所有文档。 * `db.test.create_collection()` 用于创建表。 * `db.test.insert_one()` 用于插入单个文档。 * `upsertdb.my_test_collection.update()` 用于执行更新操作,并使用 `upsert` 参数进行插入。 * `db.my_test_collection.update()` 用于执行更新操作,并使用 `$push` 和 `$pull` 用于添加或删除元素。 * `db.my_test_collection.update()` 用于根据条件更新文档。 * `db.my_test_collection.insert_one()` 用于插入单个文档。 * `db.my_test_collection.remove()` 用于删除单个文档。 * `db.my_test_collection.drop()` 用于删除单条文档。

正文

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

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 增删改查 常用sql总结相似的内容:

MongoDB 增删改查 常用sql总结

本文为博主原创,转载请注明出处: 1.切换到指定数据库:如果不存在则创建 use database 2.查看所有文档 show tables show collections 3.创建表 #创建文档 db.createCollection("my_test_collection") #如果不存在则创

[转帖]Linux遇到一个内存过高的报警——释放buff/cache

前些天一直受到内存报警,过一段时间就会恢复。由于开发工作有些多,就一直没理它,但是最近几天开始有些频繁了。虽然不影响业务,但是天天报警,还是让人提心吊胆的。因此就抽了一个上午的时间去解决一下这个问题。 排查问题 这台机器安装的是mongodb,因为最近业务增加,内容使用增加是正常的,但是实际的占用内

MongoDB安全加固,防止数据库攻击删除勒索威胁

前言: 今天发现前段时间自己搭建的一个系统的MongoDB数据找不到了,觉得很奇妙,然后登上MongoDB数据库发现多了一个名为READ__ME_TO_RECOVER_YOUR_DATA的数据库,里面还有一个README的集合里面包含了下面描述的勒索信息。没错我的MongoDB数据库被攻击了,不过还

MongoDB从入门到实战之MongoDB简介

前言 相信很多同学对MongoDB这个非关系型数据库都应该挺熟悉的,在一些高性能、动态扩缩容、高可用、海量数据存储、数据价值较低、高扩展的业务场景下MongoDB可能是我们的首选,因为MongoDB通常能让我们以更低的成本解决问题(包括学习、开发、运维等成本)。接下来的一个月博主将会从基础出发,编写

MongoDB从入门到实战之MongoDB快速入门

前言 上一章节主要概述了MongoDB的优劣势、应用场景和发展史。这一章节将快速的概述一下MongoDB的基本概念,带领大家快速入门MongoDB这个文档型的NoSQL数据库。 MongoDB从入门到实战的相关教程 MongoDB从入门到实战之MongoDB简介👉 MongoDB从入门到实战之Mo

MongoDB从入门到实战之Docker快速安装MongoDB

前言 在上一篇文章中带领带同学们快速入门MongoDB这个文档型的NoSQL数据库,让大家快速的了解了MongoDB的基本概念。这一章开始我们就开始实战篇教程,为了快速把MongoDB使用起来我将会把MongoDB在Docker容器中安装起来作为开发环境使用。然后我这边MongoDB的可视化工具用的

MongoDB从入门到实战之MongoDB工作常用操作命令

前言: 上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接、创建数据库、集合以及添加了文档数据源。这一章节我们主要是了解一下在日常工作中MongoDB一些常用的操作命令。 MongoDB从入门到实战的相关教程 MongoDB从入

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

前言: 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程。本章节主要介绍的是如何快熟搭建一个简单明了的后端项目框架。 MongoDB从入门到实战的相关教程 MongoDB从入门到实战之MongoDB简介

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么? Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计

前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表)。接下来我们先简单概述一下这个系统主要需要实现的功能以及实现这些功能我们需要设计那些数据库集合。 MongoDB从入门到实战的相关教程 Mo