Reputation: 1295
I have multiple files in fs.files
collection in mongodb GridFS with same name but for different Users.
When I use below query:
db.fs.files.find({"metadata.folder" : { "$exists": false,"metadata.msgid" : { "$exists": false}},{"metadata.user":1, "_id":0, "filename":1}).pretty()
I get result like :
{ "filename" : "standard.wav", "metadata" :
{ "user" : "101" }
}
{ "filename" : "standard.wav", "metadata" :
{ "user" : "100" }
}
{ "filename" : "standard.wav", "metadata" :
{ "user" : "104" }
}
Files are different for all Users but having same name.
So when I used following commands to store files in local system for different users, it always store same file for all Users.
For User 101 :
mongofiles --uri MONGO_DSN -d test -l /home/user/101/standard.wav get standard.wav
For User 100 :
mongofiles --uri MONGO_DSN -d test -l /home/user/100/standard.wav get standard.wav
For User 104 :
mongofiles --uri MONGO_DSN -d test -l /home/user/104/standard.wav get standard.wav
It should store different files for different users.
Thanks in advance.
Upvotes: 1
Views: 838
Reputation: 1295
I have solved it using get_id
parameter instead of using get
.
So my command now :
For User 101 :
mongofiles --uri MONGO_DSN -d test -l /home/user/101/standard.wav get_id $object101
For User 100 :
mongofiles --uri MONGO_DSN -d test -l /home/user/100/standard.wav get_id $object100
For User 104 :
mongofiles --uri MONGO_DSN -d test -l /home/user/104/standard.wav get_id $object104
Here my $object101
, $object100
, $object104
are extended JSON _id of the object in GridFS.
References :
Upvotes: 1