mongodb - mongodb - fs.files GridFS 中文件名相同的问题
问题描述
我fs.files
在 mongodb GridFS 中收集了多个具有相同名称但用于不同用户的文件。
当我使用以下查询时:
db.fs.files.find({"metadata.folder" : { "$exists": false,"metadata.msgid" : { "$exists": false}},{"metadata.user":1, "_id":0, "filename":1}).pretty()
我得到如下结果:
{ "filename" : "standard.wav", "metadata" :
{ "user" : "101" }
}
{ "filename" : "standard.wav", "metadata" :
{ "user" : "100" }
}
{ "filename" : "standard.wav", "metadata" :
{ "user" : "104" }
}
所有用户的文件都不同,但名称相同。
因此,当我使用以下命令为不同用户在本地系统中存储文件时,它总是为所有用户存储相同的文件。
对于用户 101:
mongofiles --uri MONGO_DSN -d test -l /home/user/101/standard.wav get standard.wav
对于用户 100:
mongofiles --uri MONGO_DSN -d test -l /home/user/100/standard.wav get standard.wav
对于用户 104:
mongofiles --uri MONGO_DSN -d test -l /home/user/104/standard.wav get standard.wav
它应该为不同的用户存储不同的文件。
提前致谢。
解决方案
我已经使用get_id
参数而不是使用get
.
所以我现在的命令:
对于用户 101:
mongofiles --uri MONGO_DSN -d test -l /home/user/101/standard.wav get_id $object101
对于用户 100:
mongofiles --uri MONGO_DSN -d test -l /home/user/100/standard.wav get_id $object100
对于用户 104:
mongofiles --uri MONGO_DSN -d test -l /home/user/104/standard.wav get_id $object104
这里我的$object101
, $object100
,$object104
是 GridFS 中对象的扩展 JSON _id。
参考 :
推荐阅读
- xamarin.forms - 如何在 Prism 中为 Xamarin Forms 中的 TabbedPage 设置图标属性?
- python - Python:记录器在登录到标准输出和两个文件时在屏幕上重复消息
- android - 在应用程序中初始化改造客户端
- python - 在 fbprophet 模型中使用几个自变量
- random - 为什么环绕坐标不能使我的单纯形噪声平铺无缝?
- html - 如何清理显示 GET 500(内部服务器错误)的 nil 策略错误
- angular - 如何将第一个可观察的结果用于下一个可观察的?
- excel - 匹配同一行中的多个列
- ruby-on-rails - 使用包括不同的结果?和之间?对于相同的日期范围 Rails 5
- javascript - 登录成功后在页面加载时启动模式