- 数据库
- Collection
- Document
概念解析
术语 | mongoDb | 解释说明 |
---|
database | database | 数据库 |
table | collection | 表/集合 |
row | document | 数据/文档 |
column | field | 字段/域 |
index | index | 索引 |
table joins | | 表连接,MongoDB不支持 |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
功能
- JSON 文档模型
- 动态的数据模式
- 二级索引强大
- 查询功能
- 自动分片
- 水平扩展
- 高可用
- 文本搜索
- 企业级安全
- 聚合框架MapReduce
- 大文件存储GridFS
存储格式
- Json
- Bson
- BSON有JSON没有的Date和BinData
- MongoDB中document以BSON形式存放
笔记
- 键值有序
- 区分类型与大小写
- 不能重复键
集合命名空间 | 描述 |
---|
dbname.system.namespaces | 列出所有名字空间 |
dbname.system.indexes | 列出所有索引 |
dbname.system.profile | 数据库的概要信息 |
dbname.system.users | 列出所有可访问数据库的用户 |
dbname.local.sources | 包含复制对端(slave)的服务器信息和状态。 |
常用命令
命令 | 注释 |
---|
db.version() | 数据库的版本 |
use mine | 切换到mine数据库 |
db | 显示当前数据库 |
show dbs | 显示所有数据库 |
db.stats() | 查看数据库的状态 |
db.getMongo() | 查看数据库连接地址 |
db.createCollection(‘a’) | 创建集合a |
db.c.insert({name:‘clsn’}); | 插入文档,集合也会自动创建 |
db.c.find() | 获取集合里的所有文档内容 默认50条 |
db.a.drop() | 删除集合 |
{
"_id" : 1.0,
"name" : "sue",
"age" : 19.0,
"type" : 1.0,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17.0,
3.0
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85.0,
"bonus" : 20.0
},
{
"points" : 85.0,
"bonus" : 10.0
}
]
}
笔记
注释 | 语句 |
---|
或、小于 | db.users.find({$or: [ { status: “A” }, { age: { $lt: 30 }}]}) |
in | db.users.find( { status: { $in: [ “P”, “D” ] } } ) |
and | db.users.find( { status: “A”, age: { $lt: 30 } } ) |
数组精确匹配 | db.users.find( { badges: [ “blue”, “black” ] } ) |
匹配一个数组元素 | db.users.find( { badges: “black” } ) |
匹配数组指定元素 | db.users.find( { “badges.0”: “black” } ) |
指定数组元素的多条件查询 | db.users.find( { finished: { $elemMatch: { $gt: 15, $lt: 20 } } } ) |
更新设置 | $set |
索引
语句 | 注释 |
---|
db.person.createIndex({ “name” : -1 },{ “name” : “indexname”, “unique” : true,dropDups:true }) | 将name域设置成索引,取名indexname,设置成唯一索引,删除重复数据 |