非关系型数据库 MongoDB 初探
在师兄的推荐下,开始使用 NoSQL 类型数据库。记录一下日常使用过程中一些基本的东西。主要的特点如下:
- NoSQL,指的是非关系型的数据库。NoSQL 有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
- MongoDB 是一个基于分布式文件存储的数据库。
- 主要用于超多规模型数据的存储,存储的数据量也非常大,因而其查询效率非常好,可以说为查询效率而生。
简单点说,NoSQL 简直为大数据而生。大部分图标来自菜鸟教程
一 . 安装 MongoDB
在 windows 64 位的情况下,下载的版本为 mongodb-win32-x86_64-2008plus-ssl-3.2.6-signed.msi
自定义安装,安装在 D 盘新建的 Mongodb 文件夹中,并在该文件夹根目录下新建 /data/db 以及 /log/log.txt
指定数据存储位置以及日志信息位置
F:\MongoDB\bin>mongod.exe –logpath=F:\MongoDB\log\log.txt –dbpath=F:\MongoDB\data\db
作为服务进行安装
F:\MongoDB\bin>mongod.exe –install –logpath=F:\MongoDB\log\log.txt –dbpath=F:\MongoDB\data\db
启动命令以及终止命令,必须以管理员身份启动
net start mongodb net stop mongodb
进入 shellDB ,本质上为一个 javaScript shell
二 . MongoDB 初窥
上面这个例子将 数字 10 插入到 runoob 集合的 x 字段中。 与关系型数据的对比
三 . MongoDB 用法
- show dbs, 可以显示所有数据库的列表
- use db,可以连接到一个指定的数据库,如果数据库不存在,则创建
- db 命令可以显示当前数据库对象或集合
- 删除数据库,先切换到指定数据库下,执行 db.dropDatabase()
- 插入文档 db.COLLECTION_NAME.insert(document) 而文档其实就是 json 数据
- 插入文档到集合 db.col.insert(document)
- 删除文档 db.col.remove({‘title’:’MongoDB 教程’}) 即移除 title 为 Mongodb 的一些文档数据
- db.col.find().pretty() ,格式化显示一系列 JSON 数据
- show collections,显示所有 documents,相当于 SQL 中的 table
四 . MongoDB 查询实例
查询了集合 col 中的数据:
> db.col.find().pretty()
{
"_id" : ObjectId("56063f17ade2f21f36b03133"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
MongoDB AND 条件
> db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
{
"_id" : ObjectId("56063f17ade2f21f36b03133"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
四 . 与 Java 相关
五 . 与 Python 相关
六 . 与 API 设计相关
如果觉得本文对你有帮助,请打赏以回报我的劳动