一组用途相同或类似的文档,不受严格模式的管制,文档可根据需要采取稍微不同的结构。
单个实体数据
文档中可以嵌入子文档
BSON格式存储
Double/String/Object/Array/Binary data/ObjectId/Boolean/Date/Null/Regular expression/JavaScript/Symbol/JavaScript/Int32/Timestamp/Int64/MinKey/MaxKey
范式化数据:文档引用 -- 减少冗余和依赖
反范式化数据:嵌入文档 -- 一次查找获得所有对象
固定集合:大小固定的集合,超过覆写
原子写入:不能有多个进程同时更新一个文档或集合
启动:mongo [dbname]
原生方法
eval(expression)
load(script-path)
print(...)
printjson(...)
类似 JS:
- 变量
- 数据类型
- 输出
- 运算符
- 循环
- 函数
- 对象
- 错误处理
官方文档
PyMongo
node-mongodb-native
复制数据库
重命名集合
创建Collection
管理索引
性能和诊断:
db.stats
db.Collection.validate
db.runCommand({profile:1, slowns: 500})
db.system.profile.find()
评估查询:
db.Collection.find().explain()
使用top:
db.runCommand({top:1})
修复:
mongod --repair --repairpath /tmp/mongodb/data
备份:
mongodump --host ... --out ...
mongorestore --dbpath curdb bakdb