MongoDB 基本操作

server/2025/2/13 19:01:44/

一、数据库操作

1. 切换或创建数据库

使用`use`命令切换到指定数据库,若该数据库不存在,在首次插入数据时会自动创建。

use myDatabase

2. 查看所有数据库

使用`show dbs`命令查看 MongoDB 实例中的所有数据库

show dbs

3. 删除当前数据库

使用`db.dropDatabase()`命令删除当前使用的数据库

db.dropDatabase();

二、集合操作

1. 创建集合

使用`db.createCollection()`方法创建集合,也可以不手动创建,插入文档时若集合不存在会自动创建。

db.createCollection("myCollection");

2. 查看所有集合

使用`show collections`命令查看当前数据库中的所有集合。

show collections

3. 删除集合

使用`db.collection.drop()`方法删除指定集合。

db.myCollection.drop();

三、文档操作

1. 插入文档

1.1 插入单个文档

使用`db.collection.insertOne()`方法插入单个文档。

db.myCollection.insertOne({ name: "John", age: 30 });

1.2 插入多个文档

使用`db.collection.insertMany()`方法插入多个文档。

db.myCollection.insertMany([{ name: "Alice", age: 25 },{ name: "Bob", age: 35 },]);

2. 查询文档

2.1 查询所有文档

使用`db.collection.find()`方法查询集合中的所有文档。

db.myCollection.find();

2.2 条件查询

在`find()`方法中传入查询条件对象,可根据条件查询文档。查询`age`大于 30 的文档

db.myCollection.find({ age: { $gt: 30 } });

2.3 投影查询

可指定返回的字段,第二个参数传入投影对象,值为 1 表示返回该字段,值为 0 表示不返回。

db.myCollection.find({ age: { $gt: 30 } }, { name: 1, _id: 0 });

3. 更新文档

3.1 更新单个文档

使用`db.collection.updateOne()`方法更新符合条件的第一个文档。`$set`是更新操作符,用于设置字段的值。

db.myCollection.updateOne({ name: "John" }, { $set: { age: 31 } });

3.2 更新多个文档

使用`db.collection.updateMany()`方法更新所有符合条件的文档。将`age`小于 30 的所有文档的`age`字段加 1,`$inc`是更新操作符,用于增加字段的值。

db.myCollection.updateMany({ age: { $lt: 30 } }, { $inc: { age: 1 } });

4. 删除文档

4.1 删除单个文档

使用`db.collection.deleteOne()`方法删除符合条件的第一个文档。

db.myCollection.deleteOne({ name: "Alice" });

4.2 删除多个文档

使用`db.collection.deleteMany()`方法删除所有符合条件的文档。

db.myCollection.deleteMany({ age: { $gt: 35 } });

四、索引操作

1. 创建索引

使用`db.collection.createIndex()`方法为指定字段创建索引。为`name`字段创建升序索引,`1`表示升序,`-1`表示降序。

db.myCollection.createIndex({ name: 1 });

2. 查看索引

使用`db.collection.getIndexes()`方法查看集合的所有索引。

db.myCollection.getIndexes();

3. 删除索引

使用`db.collection.dropIndex()`方法删除指定索引。

db.myCollection.dropIndex({ name: 1 });

http://www.ppmy.cn/server/167401.html

相关文章

[python SQLAlchemy数据库操作入门]-25.股票数据可视化:将 SQLAlchemy 数据呈现给用户

哈喽,大家好,我是木头左! 本文将探讨如何利用SQLAlchemy从数据库中提取股票数据,并使用现代数据可视化工具将这些数据以直观的方式呈现给用户。将通过一系列步骤来演示这个过程,包括设置环境、连接数据库、提取数据、处理数据以及最终的可视化展示。 安装必要的库 接下来…

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)

青少年软件编程(Python)等级考试试卷(六级) 一、单选题(共25题,共50分) 1.下面代码的输出结果正确的是?(B) import json json_str [ "Alice", "girl", 17,"New York"] data json.loa…

高效便捷Java代理技术:轻松实现Web集成

一、什么是代理 在 Java 开发中,Java代理(Proxy)是Java编程语言中一个非常重要的概念,通过引入一个代理类来间接访问目标对象,在不修改原有目标类代码的前提下,增加或修改目标类的行为,将复杂的…

信息科技伦理与道德3-3:智能决策

2.3 智能控制 智能控制算法介绍 智能控制算法的优化:性能提升的秘诀 https://blog.csdn.net/universsky2015/article/details/137309308 案例一:特斯拉自动驾驶汽车未能识别白色卡车导致车祸

React 中的 useMemo 和 useCallback 有什么区别?

useMemo 和 useCallback 是 React 中的两个 Hook,主要用于性能优化,但它们的用途和工作方式有所不同。以下是它们之间的主要区别: 1. useMemo 用途:用于记忆计算值。它可以避免在每次组件渲染时重新计算一个值,只有当依赖项发生变化时,才会重新计算。 返回值:返回缓存的…

网络安全—DDoS攻防

背景简述:DDoS攻击分为很多类型,有消耗网络带宽的流量攻击,有消耗服务器资源的应用层攻击等。影响巨大,且让无论大公司还是小公司都肃然“起敬”的当属:流量攻击。在流量越来越廉价的今天,攻击流量小则几百…

将Markdown格式文件与word文件相互转化方法

不多说直接上方法 下载Writage软件 Writage是一款word插件,下载网址为:http://www.writage.com/。 下载之后直接安装即可。 安装之后在使用word打开和使用word软件另存为的时候就出现Markdown格式了

42页精品PPT | 数字政府智慧政务大数据平台建设方案

这份《数字政府智慧政务大数据平台建设方案》PPT详细阐述了数字政府智慧政务大数据平台的建设背景、目标、架构以及实施策略。方案围绕解决当前政务服务中的痛点,如“互联网政务服务”推进中的数据共享难题、数据安全风险以及部门间业务流程整合等问题展开。 通过构…