文章内容概述:
1.MongoDB介绍
2.MongoDB安装(windows及Linux)
3.MongoDB基本操作命令
MongoDB介绍:
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
注:NoSQL(NoSQL = Not Only SQL ),泛指非关系型的数据库,用于超大规模数据的存储。
MongoDB安装(windows及Linux):
windows:
下载地址:https://www.mongodb.com/download-center?jmp=nav#community
双击下载好的文件
点击next
勾选选择框,点击next
选择complete,点击next
点击next
点击下一步
点击install
完成后,在bin所在目录新建data文件夹,data文件夹里创建db和log文件夹,分别存放数据库文件和日志文件
启动cmd
输入以下命令来启动服务器,回车执行
接下来启动数据库客户端,直接输入mongo.exe 或指定端口启动
输入help查看命令
Linux安装:
MongoDB基本操作命令:
【查看】
使用show命令来查看
show dbs #查看全部数据库
show collections #显示当前数据库中的集合
show users #查看当前数据库的用户信息
【创建/切换】
use命令来切换、创建数据库
use db_name
【显示当前数据库】
使用db命令来显示当前数据库
db
【删除数据库】
db.dropDatabase()
删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名
【创建集合】
在插入文档时,MongoDB首先检查上限集合capped字段的大小,然后检查max字段
db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )
name:集合的名字
capped:是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义
max:集合中最大条数限制,默认为没有限制
size:限制集合使用空间的大小,默认为没有限制,size的优先级比max要高
autoIndexId:是否使用_id作为索引,默认为使用(true或false)
注:向集合中插入文档时,如果集合不存在 ,则会自动创建集合
【删除集合】
db.collection.drop()
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false
【插入文档】
使用 insert() 或 save() 方法向集合中插入文档,文档的格式为JSON。而所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
db.collection_name.insert
db.col.insert({title: '鱼鱼教程', description: 'MongoDB 是一个 Nosql 数据库',, tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
注:col 是集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档
【查询文档】
db.collection.find(query, projection)
- query :可选,使用查询操作符指定查询条件
- projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)
【更新文档】
使用 update() 和 save() 方法来更新集合中的文档
update方法:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别
save方法:
db.collection.save( <document>, { writeConcern: <document> } )
- document : 文档数据。
- writeConcern :可选,抛出异常的级别。
【删除文档】
remove()函数是用来移除集合中的数据
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档。
- writeConcern :(可选)抛出异常的级别。