MongoDB 数据库基本操作
MongoDB 数据库基本操作
- 初识 MongoDB
- 启动 MongoDB
- DOS(Windows)端启动 MongoDB 服务
- help 帮助文档
- 关闭 MongoDB 服务
- 1. 数据库创建
- 删除数据库
- 2. 创建集合
- 查询集合
- 3. 文档操作
- 插入文档
- 更新文档
- 条件查询
- 删除文档数据
初识 MongoDB
启动 MongoDB
DOS(Windows)端启动 MongoDB 服务
- 配置环境变量
在电脑->属性->环境变量->Path中添加 MongoDB 安装路径(根据自己的安装路径添加) - 启动服务并进行相关配置;
mongod.exe --bind_ip 127.0.0.1 --logpath D:\MongoDB\dblog\mongodb.log --logappend --dbpath D:\MongoDB\db --port 27017 --service
bind_ip :绑定服务 IP,绑定127.0.0.1,则只能本机访问,不指定默认本地所有 IP ; logpath :配置日志存放的位置; logappend :日志使用追加的方式; dbpath :配置数据存放的位置; port :配置端口号,27017是默认端口; service :以服务方式启动,即后台启动。
help 帮助文档
MongoDB 我们刚接触,并不了解怎么使用命令进行操作,这时候就可以用 help 帮助文档了,里面有 MongoDB 的所有操作命令。
查看 MongoDB 支持哪些命令:help;查询当前数据库支持的方法:db.help();查询集合支持哪些方法:db.集合名.help()。
关闭 MongoDB 服务
- 能连接到客户端时:
use admin #使用系统数据库admin,只有在admin数据库中才可以进行关闭服务的操作
db.shutdownServer() #关闭服务
- 客户端无法连接时:
1.查看 Mongo 相关进程ps -ef | grep mongo
2.kill 和 Mongo 的服务进程kill 26
1. 数据库创建
mongo
use mydb
db.mydb.insert({_id:1,name:"李小红"})
删除数据库
MongoDB 删除数据库需要先切换到该数据库中:
use Testdb
db.dropDatabase()
2. 创建集合
- 先进入指定数据库 Testdb :
use Testdb;
- 在 Testdb 数据库中创建创建固定集合 test ,整个集合空间大小512000KB,文档最大个数为1000个。
db.createCollection("test", { capped : true, autoIndexId : true, size : 512000, max : 1000 } )
capped :是一个布尔类型,true 时创建固定集合,必须指定 size。固定集合指有固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。默认为 false;autoIndexId :也是一个布尔类型,如为 true,自动在_id 字段创建索引。默认为 false ;size :为固定集合指定一个最大值(以字节 KB 计);max :指定固定集合中包含文档的最大数量。
不过,和 MySQL 不同的是,在 MongoDB 中,你不一定需要先创建集合。当你插入一些文档时,MongoDB 会自动创建集合。
创建集合命令(推荐):db.集合名.insert()(注意:一条数据用大括号“ {} ”括起来,多条数据用“ [] ”将所有数据括起来)。
db.mytest2.insert([{"name" : "王小明","sex":"男"},{"name" : "李小红","sex":"女"}])
默认 id
MongoDB 中存储的文档 必须 有一个_id
键(如果我们插入数据的时候未指定_id
,系统会自动生成一个默认的 id )。
这个键的值可以是任何类型的,默认是个 ObjectId
对象。在一个集合里面,每个文档都有唯一的_id
值,来确保集合里面每个文档都能被唯一标识。如果有两个集合的话,两个集合可以都有一个值为123的_id键,但是每个集合里面只能有一个_id是123的文档。
查询集合
查询集合命令:db.集合名.find()。
删除集合命令:db.集合名.drop()
3. 文档操作
文档的数据结构和 JSON 基本一样,所有存储在集合中的数据都是 BSON 格式。BSON 是一种类 JSON 的一种二进制形式的存储格式,简称: Binary JSON
。
插入文档
插入文档命令:db.集合名.insert(文档)
。
我们还可以将数据定义为一个变量:
document=({_id:1, name: '王小明', sex: '男', hobbies: ['乒乓球','羽毛球'], birthday: '1996-02-14' });
db.person.insert(document)
person
是集合名,如果该集合不在该数据库中,MongoDB 会自动创建该集合并插入文档,查看 person 集合,如图所示:
更新文档
更新文档主要会用到 update
() 方法和 save
() 方法。
我们先把 document 插入到集合 person2;
db.person2.insert(document)
由于信息有误,上面 birthday 的格式错了,该怎么去修改这个字段的值呢?这时就要用到 update() 方法了。
用 update() 方法来更新 person2 的数据,把王小明的出生日期替换成1996,命令如下:
db.person2.update({birthday:"1996-02-14"},{$set:{birthday:"1996"}})
pretty()
方法的作用是使文档整齐的输出:
可以发现:
update() 有两个参数,都是对象,中间用逗号“ ,”间隔;
第一个参数表示需要修改的值;
第二个参数用 $set 操作符指向更新后的值。
save() 方法
save() 方法通过传入的文档来替换已有文档。
我们先把 document 插入到集合 person3 中;
db.person3.insert(document)
db.person3.save({ "_id" :1, "name" : "李小红", "sex" : "女", "hobbies" : [ "画画", "唱歌", "跳舞" ], "birthday" : "1996-06-14"
})
注:如果 save() 法也指定了_id,则对文档进行更新;未指定_id则会执行插入功能,MongoDB 默认自动生成一个不重复的_id。
总结:
update() 方法仅适用于修改某条数据中的某个键值;
save() 方法适用于修改整条数据。
mongo
use Testdb3document=([{_id:1,name:"张小华",sex: "男",phone: "12356986594",hobbies: ["打篮球","踢足球","唱歌"]}]);db.stu1.insert(document)
db.stu2.insert(document)
db.stu3.insert(document) db.stu2.update({phone: "12356986594"},{$set:{ phone: "18356971462"}})
db.stu3.save({"_id":1,"name":"张晓晓","sex":"女","phone":"12365498704","hobbies":["跳舞","羽毛球","唱歌"]});
条件查询
操作 | 格式 | 范例 | 关系数据库中类似的语句 |
---|---|---|---|
等于 |
{<key>:<value>}
|
db.stu1.find({"name":"李小红"}).pretty() | where name = '李小红' |
小于 |
{<key>:{$lt:<value>}}
|
db.stu1.find({"age":{$lt:18}}).pretty() | where age < 18 |
小于或等于 |
{<key>:{$lte:<value>}}
|
db.stu1.find({"age":{$lte:18}}).pretty() | where age <= 18 |
大于 |
{<key>:{$gt:<value>}}
|
db.stu1.find({"age":{$gt:18}}).pretty() | where age > 18 |
大于或等于 |
{<key>:{$gte:<value>}}
|
db.stu1.find({"age":{$gte:18}}).pretty() | where age >= 18 |
不等于 |
{<key>:{$ne:<value>}}
|
db.stu1.find({"age":{$ne:18}}).pretty() | where age != 18 |
AND 条件
find() 方法可以传入多个键 (key),每个键 (key) 以逗号隔开,即常规 SQL 的 AND 条件。如查询集合 stu1 中年龄为20岁的男性信息:
db.stu1.find({"age":20, "sex":"男"}).pretty()
删除文档数据
删除指定的数据:
db.stu1.remove({'age':20}) //删除年龄为20的数据
删除全部数据(集合并不会删除):
db.remove({})
加油!
感谢!
努力!
MongoDB 数据库基本操作相关推荐
- 头歌 MongoDB 数据库基本操作
MongoDB 数据库基本操作 第1关:数据库创建 第2关:创建集合 第3关:文档操作一 第4关:文档操作二 第1关:数据库创建 pgrep mongo -l mongo use mydb db.my ...
- 分布式数据库NoSQL(二)——MongoDB 数据库基本操作
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...
- MongoDB数据库基本操作笔记
为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改 ...
- Mongodb 数据库基本操作语句,结合 Node.js + express + mongoose (实现增、删、改、查,批量增加、修改等,创建临时表,多表查询......)
版本说明 "MongoDB": "4.0.9", // cmd命令窗输入:mongo --version "node": 10.13.0, ...
- mongodb在mysql中怎么用,mongoDB数据库基本操作
mongoDB中聚集集合(collection/coll)相当于mysql中的表 文档相当于mysql中的每一行数据 常用命令 1.获得帮助命令db.help() db.表名.help() db.表名 ...
- educoder MongoDB 数据库基本操作
第1关:数据库创建 编程要求 在右侧命令行中连接 MongoDB ,创建一个名为 mydb 的数据库,并插入数据:_id:1,name:"李小红". 测试说明 操作完之后点击评测, ...
- MongoDB数据库—基本操作
文章目录 一.数据库操作 1. 查看所有数据库 2. 创建数据库 3. 删除数据库 4. 查看当前正在使用的数据库 5. 断开连接 6. 查看命令api 二.集合操作 1. 查看当前数据库下有哪些集合 ...
- MongoDB数据库基本操作
文章目录 1.创建库 2.创建集合 3.插入.查看数据 4.查找内容 5.设置别名 6.查看数据类型 7.更改数据内容 8.删除集合 9.删除数据库 10.统计集合中数据条数 11.导出数据库中的数据 ...
- mongodb数据库显示obj_MongoDB基础(三)—基本操作及管理 | leon的博客
第1章 MongoDB的基本操作 1.1 查询帮助信息 > help db.help() help on db methods db.mycoll.help ...
- MongoDB的基本操作(创建数据库,数据表,查询数据表信息)
今天,因为有朋友想要了解MongoDB的基本操作.所以,我就写一篇关于MongoDB的文章,占个坑以后有时间研究MongoDB再正式的写MongoDB的文章.关于MongoDB的安装,可以参考一下我的 ...
最新文章
- 微软将发布5月安全漏洞补丁 修补PPT
- undefined和null
- linux加密框架 crypto 算法管理 - 应用角度讲解加密框架的运行流程
- 创意or鸡肋?亚马逊想让智能音箱“手机”化
- C# CharacterToBinary 将类似2进制字符串 10010110111 转换为数值型源码
- FindFirstFile和FindNextFile
- php一行代码实现人脸识别,一行代码搞定人脸识别
- 高性能实现WORD转PDF(jacob1.19+SaveAsPDFandXPS)内附资源链接
- matlab猜数字游戏程序,matlab 猜数字小游戏
- 加密软件不能安装软件
- idea导入项目后,没有项目结构
- win10下装黑苹果双系统_小米笔记本pro黑苹果Win10双系统
- 非负矩阵分解 NMF 总结
- [转贴]给想立志入行网络或已经初入行的朋友的建议(一)
- linux系统外接硬盘_Linux添加硬盘和挂载
- APISpace 人像比对API
- Git常用命令、及常见报错处理:You have not concluded your merge (MERGE_HEAD exists)
- android10手机运行内存怎么查看,安卓手机怎么查看手机内存
- cshop是什么开发语言_客户端产品一般是用什么编程语言写的?
- 基于bp的神经网络算法,bp神经网络是什么算法