MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
(未完成….)
目录
一、概念
SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键
-
一个mongodb中可以建立多个数据库
-
MongoDB的默认数据库为”db”,该数据库存储在data目录中
-
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中
二、数据库操作
// 1. 显示所有存有文档的可用数据库
> show dbs
// 2. 显示当前数据库对象或集合
> db
test
// 3. 连接到一个指定的数据库
> use local
switched to db local
> db
local
// 4. 创建数据库
> use dcg
switched to db dcg
> show dbs
admin 0.000GB
local 0.000GB
// 我们刚创建的数据库 dcg 并不在数据库的列表中,我们需要向 dcg 数据库插入一些数据
> db.dcg.insert({"name": "wfj"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
dcg 0.000GB
local 0.000GB
// 5. 删除数据库
> db.dropDatabase()
{ "dropped" : "dcg", "ok" : 1 }
-
admin: root 数据库
-
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
-
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息
三、集合(表)操作
// 1. 集合中添加数据
> db.site.insert({"name": "wfj", age: 26})
// 2. 查询数据库中的所有集合
> show tables
site
test
// 3. 删除集合
> db.test.drop()
true
// 4. 集合查询
> db.site.find()
{ "_id" : ObjectId("58fc50365fd546f0dcde1366"), "name" : "wfj", "age" : 26 }
// 5. 更新
> db.site.update({"name": "wfj"},{"name": "wfj", "age": 27}, {upsert: true})
// 说明:upsert 当不存在name=wfj时,相当于新插入一条数据
// 6. 删除集合中的文档
> db.site.remove({"age": 27}, true)
// true 为可选boolean值,表示是否只删除满足条件的第一条