本篇博文介绍
知识目标 熟悉数据库和集合操作
本篇目标
掌握 MongoDB 的部署
掌握文档的插入、更新、删除以及查询操作
一、MongoDB的安装部署
在浏览器输入网址:www.mongodb.com
2. 点击“TRY FREE”或“GET STARTED”按钮,进入 MongoDB 的下载页面;
3. 在下载页面中,选择适合操作系统的版本。MongoDB 支持各种操作系统,包括 Windows、Linux 和 macOS;
4. 点击下载按钮开始下载 MongoDB 的安装文件;
5. 下载完成后,可以开始安装 MongoDB。
选择软件版本、电脑对应的应用系统、安装包形式,选择完毕点击安装即可。
安装的时候推荐大家选择自定义安装,选择安装位置,这里推荐大家安装除C盘以外的盘。
这里不安装可视化工具,把勾给取消掉。
安装完后打开任务管理器查看MongoDB是否正在运行。
随后打开软件安装位置复制安装路径
打开环境变量点系统变量的编辑
新建把复制的安装路径添加进去,点击确定
接下来Win键+R打开cmd,输入mongo回车
回车和上图一样那MongoDB就安装完成了。
二、数据库操作
新建数据库
语法:
use DATABASE_NAME
use:用于切换/创建数据库,若不存在则创建,否则切换到指定数据库。
DATABASE_NAME:数据库名称。
执行use articledb命令,创建数据库articledb。
查看数据库
语法:查看全部数据库
show dbs
或者查看当前数据库,需要先切换到指定数据库
db
删除数据库
语法
db.dropDatabase()
db:表示当前数据库对象。
dropDatabase():用于删除当前数据库的方法。
删除当前数据库,执行命令前应使用use命令切换到要删除的数据库,为了防止误删可执行命令db验证当前数据库是否为指定删除的数据库。
三、集合操作
创建集合
语法
显示创建
db.createCollection(COLLECTION_NAME,[OPTIONS])
隐式创建
db.COLLECTION_NAME.INSERT(DOCUMENT)
db:表示当前数据库对象。
createCollection():创建集合方法。
DOCUMENT表示文档。
COLLECTION_NAME表示集合名称。
OPTIONS表示集合配置。
insert():向集合中插入文档的方法。
例子:
执行"db.createCollection("myCollection")"命令,显式创建集合myCollection。执行"show collections"命令,查看是否成功创建集合。
删除集合
语法
db.COLLECTION_NAME.drop()
db:表示当前数据库对象。
COLLECTION_NAME:表示集合名称。
drop():删除集合方法。
例子:
执行"db.myCollection.drop()"命令,删除集合myCollection。
四、文档操作
文档插入
语法(单文档插入)
db.COLLECTION_NAME.insert(document)
或者
db.COLLECTION_NAME.save(document)
语法(多文档插入)
db.COLLECTION_NAME.insertMany([document1,document2,...])
db:当前数据库对象
COLLECTION_NAME:当前集合对象。
insert()和save():插入单文档方法。
insertMany():插入多文档方法。
insert()和save()方法的区别在于,若使用insert()方法插入文档时,集合中已存在该文档,则会报错。若使用save()方法插入文档时,集合中已存在该文档,则会覆盖。
例子:
1、执行"use test"命令,创建并切换到数据库test。
2、隐式创建集合c1并插入文档。命令如下:
db.c1.insert(
{
"articleid":"100000",
"content":"今天天气真好,阳光明媚",
"userid":"1001",
"nickname":"Rose",
"age":"20",
"phone":"18807141995",
"createdatetime": new Date(), // 注意这里使用 new Date() 而不是 new Data()
"likenum":NumberInt(10),
"state":null
}
)
3、执行"db.c1.find()"命令,查看集合comment中的文档。
4、向集合comment中插入多文档,命令如下。
db.comment.insertMany([{documet1},{documet2},{documet3}])
例子:
文档更新
语法
db.COLLECTION_NAME.update(criteria,objNew,upsert,multi)
db:当前数据库对象。
COLLECTION NAME:当前集合对象。
update():更新文档方法。
criteria:更新的查询条件,类似sql中的where。
objNew:新的对象和操作符,类似sql中的set。
upsert:不存在更新对象时,是否插入,默认为false
multi:默认为false,只更新查找到的第一个文档,反之更新所有。
例子
将键contect的值由“喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有#
升"更新为“喝水增加了尿量,能使有害物质及时排出体内”,具体命令如下。
db.c1.updateMany(
{ "content": "喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升" },
{ $set: { "content": "喝水增加了尿量,能使有害物质及时排出体内" } }
)
升级语法
db.集合名.update (条件,新数据){修改器:{键:值}}
修改器 作用
$inc 递增
$rename 重命名列
$set 修改列值
$unset 删除列
案例说明
准备工作:创建c2集合,循环插入文档数据
for(var i = 1; i <= 10; i++){
db.c2.insert({
"uname": "ab" + i,
"age": i
});
}
文档删除
语法(删除单个)
db.COLLECTION_NAME.remove(
<query>,
{
justOne:<boolean>,
writeconcern:<document>
}
)
删除全部文档
db. COLLECTION_NAME.remove({})
db:当前数据库对象。
COLLECTION_ NAME:当前集合对象。
remove():删除文档方法。
query:删除文档的条件,可选参数。
justone:的boolean为true或1时,表示只删除查询出的第一个文档
writeConcern:表示抛出异常级别。
文档简单查询
查询所有文档语法
db.COLLECTION_NAME. Find()
查询所有文档,以易读的方式展示
db.COLLECTION_NAME. Find().pretty()
db:当前数据库对象
COLLECTION NAME:当前集合对象
find():查询所有文档方法
pretty():格式化查询返回结果
按条件查询文档
基础语法:db.集合名.find(条件[查询的列])
条件
查询所有数据{}或者不写
查询age=6的数据 {age:63}
既要age-6又要性别=男{age:6,sex:'男'}
查询的列(可选参数
不写-这查询全部列(字段
{age:1}只显示age列(字段
{age:0}除了age列(字段都显示
留心:不管你怎么写系统自定义的_id都会在
例子
查询age为4,只显示它的姓名;
升级语法
db.集合名.find({键:值})注:值不直接写
{运算符:值}
db.集合名.find({
键:{运算符:值}
})
例子
1.查询年龄大于6岁的数据
db.c2.find({
age: { $gte: 6 }
})
2.查询年龄是8岁、9岁、10岁的数据
db.c2.find({
age: { $in: [8, 9, 10] }
})
文档总结
db.集合名.insert(JSON数据)
db.集合名.remove(条件[,是否删除一条true是false否默认])
也就是默认删除多条
db.集合名.update(条件,新数据[,是否新增,是否修改多条])
概念:
updateMany是MongoDB(或某些MongoDB库,如Mongoose)中的一个方法,用于一次性更新多个符合特定条件的文档。
用法:
语法结构:db.collection.updateMany(<filter>, <update>, <options>)
<filter>:查询条件,指定需要更新的文档。
<update>:更新操作,指定更新的内容。
<options>(可选):包含其他选项的文档,如upsert和writeConcern。升级语法
db.集合名.update(条件,{修改器:{键:值}})
db.集合名.find(条件[,查询的列])
本篇总结
MongoDB是一种流行的NoSQL数据库管理系统,它以其灵活的数据模型和高性能而闻名。以下是MongoDB基本操作的总结:
1. 连接数据库:
- 使用命令行工具或客户端连接到MongoDB数据库。
- 在命令行中使用`mongo`命令来连接本地数据库,默认端口为27017。
2. 创建数据库:
- MongoDB中的数据库不需要预先创建,当你插入第一条数据时,如果指定的数据库不存在,MongoDB会自动创建该数据库。
3. 切换数据库:
- 使用`use <database_name>`命令来切换到指定的数据库。
4. 创建集合:
- 使用`db.createCollection('<collection_name>')`命令在当前数据库中创建一个新的集合。
5. 插入文档:
- 使用`db.<collection_name>.insertOne(<document>)`或`db.<collection_name>.insertMany([<document1>, <document2>, ...])`来插入一个或多个文档到集合中。
6. 查询文档:
- 使用`db.<collection_name>.find(<query>)`来查询符合条件的文档。
- 可以添加条件、投影、排序等选项来进一步筛选和排序结果。
7. 更新文档:
- 使用`db.<collection_name>.updateOne(<filter>, <update>)`或`db.<collection_name>.updateMany(<filter>, <update>)`来更新符合条件的文档。
8. 删除文档:
- 使用`db.<collection_name>.deleteOne(<filter>)`或`db.<collection_name>.deleteMany(<filter>)`来删除符合条件的文档。
9.备份与恢复:
可以使用mongodump和mongorestore命令进行备份和恢复MongoDB数据库。
10.安全性:
设置适当的用户权限和身份验证是保护MongoDB数据安全的重要手段。可以通过创建用户并设置角色权限来实现安全访问控制。
注意事项
- MongoDB中的文档结构灵活,类似于JSON格式的数据,易于表示复杂的数据类型。
- 集合中的文档可以有不同的结构,但通常为了查询和管理方便,会尽量保持文档结构的一致性。
- MongoDB的更新操作是原子性的,即在一个文档的多个字段上的操作要么全部成功,要么全部失败。
以上就是对MongoDB基本操作的介绍,希望对你有所帮助。
标签:NAME,Windows,MongoDB,数据库,db,文档,集合,基本操作 From: https://blog.csdn.net/jangxin/article/details/139752735