介绍
MongoDB是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点,可以保证服务器性能,为WEB应用提供可扩展的高性能数据存储解决方案,它是将数据存储为一个文档,数据结构由键值(key=>value)对组成,它的文档样式与JSON格式的十分相似,字段值可以包含其他文档,数组及文档数组
下载
下载地址:https://www.mongodb.com/download-center/community
可视化工具安装(NoSQLBooster)
下载地址: https://www.nosqlbooster.com/downloads
实操
查看数据库列表
命令:show dbs
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
当相进入某一个数据库时,使用use指令即可
创建数据库
语法:use database_name
如果数据库不存在就创建,如已存在的话就会跳转到指定的数据库
删除数据库
语法:db.dropDatabase()
首先先use进入数据库,然后使用该指令删除即可
创建集合
语法:db.createCollection(name, options)
name:集合名称
option:集合参数
加入option的案例
这里的参数意思为:此集合为固定集合,当capped为true时,size参数是必须条件,size是固定集合指定一个最大值,即字节数,而max则是指定固定集合中包含文档的最大数量
删除集合
语法:db.collection.drop()
文档实例
插入文档
下面的操作我配合可视化工具(NoSQLBooster)操作一下增删改查方法,顺便熟悉一下
localhost:创建了一个连接
test~:表结构
UncleTJ:集合结构
这里简单说明了一下,具体可下载查看,下面在集合当中创建一个文档内容看看效果
插入语法:
db.collection.insert(数据内容)
插入进去之后在可使用db.collection.find();查看数据信息
更新文档
更新语法:
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 :可选,抛出异常的级别。
使用db.collection.find().pretty()查看更新后的文档
删除文档
语法:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
我们在创建一条数据
下面执行一下remove语句看看
执行成功后应该就是只有一条数据了
查询文档
语法:
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
这个pretty()方法是以格式化的方式去查询出所有的文档信息