MongoDB 4.0.10 GridFS操作
- GridFS将大型文件分成块,这些块保存到MongoDB数据库的集合fs.chunks中,而有关文件的元数据存储到集合fs.files中;当在GridFS中查询文档是,将首先从集合fs.files中读取元数据,再从集合fs.chunks中读取并返回块
- GridFS的优点:无需将整个文件读取到内存中就能返回请求结果,这降低的内存不足的风险
1 # -u root -p 123456 --authenticationDatabase admin 为用户权限验证 2 mongofiles -u root -p 123456 --authenticationDatabase admin --db myFS put "1.txt" # 将1.txt存储到GridFS存储区myFS数据库中 3 mongofiles -u root -p 123456 --authenticationDatabase admin --db myFS list # 列出存储区找那个的文件 4 mongofiles -u root -p 123456 --authenticationDatabase admin --db myFS --local "2.txt" get "1.txt" # 获取1.txt文件,另存为到本地的2.txt 5 mongofiles -u root -p 123456 --authenticationDatabase admin --db myFS delete "1.txt" # 删除存储区的1.txt 6 7 mongofiles --help # 查看帮助信息 8 --host <host>:<port> # 主机和端口号 9 --port <port> # 端口号 10 -u -username <username> # 用户 11 -p -password <password> # 密码 12 --dbpath <path> # MongoDB数据文件路径 13 --db <database> # 用于GridFS存储的数据库名称 14 --local <filename> # 使用get命令从GridFS存储区获取文件时,指定使用什么样的文件名将其存储在本地 15 --replace # 使用put命令用本地文件代替既有的GridFS对象,而不是添加同名对象 16 list <prefix> # 列出GridFS存储区中的文件,参数prefix指定文件名的开头部分 17 put <filename> # 将文件存储到GridFS存储区 18 get <filename> # 从GridFS存储区获取文件 19 delete <filename> # 从GridFS存储区删除文件 20 search <string> # 列出GridFS的文件,参数string指定文件名包含的字符串