第3章:MongoDB 核心CRUD操作:数据库、集合与文档的语法详解

在上一篇文章【MongoDB 快速安装与配置指南】中,如何在本地计算机或服务器上安装和配置MongoDB,以便您可以开始探索这项强大的技术。今天,我们将继续学习MongoDB 核心CRUD操作:数据库、集合与文档的语法。

数据库操作

MongoDB 中默认的数据库如下。

image.png

一个 MongoDB 中可以创建多个数据库,每一个数据库都有自己的集合和权限。

MongoDB安装完成后内置了几个特殊的数据库。

  • admin : admin 数据库主要是保存 root 用户和角色。例如,system.users 表存储用户,system.roles 表存储角色。一般不建议用户直接操作这个数据库。将一个用户添加到这个数据库,且使它拥有 admin 库上的名为 dbAdminAnyDatabase 的角色权限,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如关闭服务器。
  • local : local 数据库是不会被复制到其他分片的,因此可以用来存储本地单台服务器的任意 collection。一般不建议用户直接使用 local 库存储任何数据,也不建议进行 CRUD 操作,因为数据无法被正常备份与恢复。
  • config : 当 MongoDB 使用分片设置时,config 数据库可用来保存分片的相关信息。
  • test : 默认创建的测试库,连接 mongod 服务时,如果不指定连接的具体数据库,默认就会连接到 test 数据库。

数据库名可以是满足以下条件的任意 UTF-8 字符串:

  • 不能是空字符串""
  • 不得含有' '(空格)、.$/、“和 (空字符)。
  • 应全部小写。
  • 最多 64 字节。

数据库名最终会变成文件系统里的文件,这也就是有如此多限制的原因。

1.【创建/切换】

 使用use命令来切换/创建数据库,会发现创建的数据库并不在数据库的列表中, 要显示它,需要向数据库插入一些数据

use 数据库名称

例如:创建学生数据库:use student;

2.【查看数据库】

使用show dbs来查看数据库

show dbs
或
show databases

3.【显示当前数据库】

使用db命令来显示/查看当前数据库,效果等同于 db.getName()

db

4.【删除数据库】

这将删除当前所选数据库。 如果没有选择任何数据库,那么它将删除默认的’test‘数据库

db.dropDatabase()

5.【查看数据库版本】

db.version()

集合操作

1.【创建集合】

db.createCollection(集合名称, 选项) ;

集合不需要事先创建,当第一个文档插入或者第一个索引创建时,如果该集合不存在,则会创建一个新的集合。

集合名可以是满足下列条件的任意 UTF-8 字符串:

  • 集合名不能是空字符串""
  • 集合名不能含有 (空字符),这个字符表示集合名的结尾。
  • 集合名不能以”system.”开头,这是为系统集合保留的前缀。例如 system.users 这个集合保存着数据库的用户信息,system.namespaces 集合保存着所有数据库集合的信息。
  • 集合名必须以下划线或者字母符号开始,并且不能包含 $

参数说明:

  • name: 要创建的集合名称
  • options: 可选参数, 指定有关内存大小及索引的选项
例如:
db.createCollection("role",{capped:true,autoIndexId:true,size:6100000});
db.createCollection("student",{capped:true,autoIndexId:true,size:6100000});

db.createCollection("AI2301");
db.createCollection("AI2302");
db.createCollection("AI2303");

2.【删除集合】

db.集合名称.drop()

例如:删除集合:db.AI2301.drop();

3.【查看集合】

db.getCollectionNames():获取当前 db 的所有集合,以数组形式显示

show collections:获取当前 db 的所有集合,以列表(换行)形式显示

show collections

4.【集合重命名】

db.原集合名称.renameCollection('新集合名称');

例如:

db.AI2302.renameCollection('人工智能2302');

文档操作

1.【文档创建】

向集合中插入新的文档。常用的命令是 insert() 或 insertOne(), insertMany(),save()。
例如:

/单个文档操作/

db.AI2301.insert({
    stu_name : "刘小海",
		stu_no: 100001,
    mobile : "1822994578",
		sex: '男'
});
db.AI2301.save({
    stu_name : "刘小海",
		stu_no: 100001,
    mobile : "1822994578",
		sex: '男'
});

db.AI2301.insertOne({
    stu_name : "刘小海",
		stu_no: 100001,
    mobile : "1822994578",
		sex: '男'
});

2.【文档查询】

从集合中检索文档。常用的命令是 find() 或 findOne()。
例如:

db.AI2301.find()

3.【文档更新】

更新(Update):修改集合中已存在的文档。常用的命令是 update() 或 updateOne(), updateMany()。

db.AI2301.update({
    stu_name: '刘小海'},
    {
        $set: {
            sex: '女'
        }
    }
);

4.【文档删除】

删除(Delete):从集合中移除文档。常用的命令是 remove() 或 deleteOne(), deleteMany()。

db.AI2301.deleteOne({stu_name: '刘小海'});

在接下来的内容里,我们将深入探讨文档CRUD操作的具体实践,并从性能优化的角度出发,教你如何更高效地管理和操作MongoDB中的数据。无论是提升查询速度还是优化数据存储,这些知识点都将帮助你在实际项目中更好地运用MongoDB。

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=20735,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?