mongodb - fs.files GridFS 中的相同文件名问题
mongodb - issue with same file name in fs.files GridFS
我在 mongodb GridFS 的 fs.files
集合中有多个文件,名称相同但用户不同。
当我使用以下查询时:
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。
参考文献:
我在 mongodb GridFS 的 fs.files
集合中有多个文件,名称相同但用户不同。
当我使用以下查询时:
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。
参考文献: