面试题答案
一键面试配置固定集合
在MongoDB中,可以使用以下方法创建满足要求的固定集合:
- 使用
create
命令:
db.runCommand({
create: "sensorData",
capped: true,
size: 1024 * 1024 * 1024, // 1GB,单位为字节
max: 1000000
});
这里,create
指定要创建的集合名称为sensorData
,capped
设置为true
表示这是一个固定集合。size
指定了集合的最大空间为1GB(1024 * 1024 * 1024字节),max
指定了集合最多能存储100万个文档。
调整存储上限
如果在运行过程中需要调整存储上限,由于固定集合的大小和最大文档数在创建后不能直接修改,一般的做法是:
- 备份数据:
可以使用
mongoexport
工具将当前固定集合中的数据导出到文件中。例如:
mongoexport --uri="mongodb://localhost:27017" --collection=sensorData --out=sensorData_backup.json
- 删除原集合: 在MongoDB shell中执行删除集合操作:
db.sensorData.drop();
- 创建新集合:
根据新的存储上限要求,使用
create
命令创建新的固定集合,例如,如果要将存储上限调整为2GB和200万个文档:
db.runCommand({
create: "sensorData",
capped: true,
size: 2 * 1024 * 1024 * 1024, // 2GB,单位为字节
max: 2000000
});
- 恢复数据:
使用
mongoimport
工具将备份的数据导入到新创建的集合中:
mongoimport --uri="mongodb://localhost:27017" --collection=sensorData --file=sensorData_backup.json