Details
Description
When put some metadata for a file to save with Gridfs, extradata should go into the metadata field (sub document). But it doesn't.
Following code demonstrates to issue.
public void SaveMetadata2() throws Exception { |
String ConnectionString = "mongodb://192.168.11.102:37017/filebox.mycoll"; |
MongoClient moClient;
|
MongoClientURI moClientURI;
|
moClientURI = new MongoClientURI(ConnectionString); |
moClient = new MongoClient(moClientURI); |
DB db = moClient.getDB(moClientURI.getDatabase());
|
GridFS gridfs = new GridFS(db, moClientURI.getCollection()); |
db.requestStart();
|
db.requestEnsureConnection();
|
File file1 = new File("e:/fbfiles/image_0001.jpg"); |
InputStream ins = new FileInputStream(file1); |
GridFSInputFile gif = gridfs.createFile(ins, file1.getAbsolutePath(), true); |
gif.put("XXX", "YYYY"); |
gif.save();
|
db.requestDone();
|
System.out.println("DONE!"); |
}
|
The expected output of db.mycoll.files.find() is this:
{
|
"_id" : ObjectId("5259df0cee372f2ba1d547e8"),
|
"metadata" : { "XXX" : "YYYY"},
|
"chunkSize" : NumberLong(262144),
|
"length" : NumberLong(13236),
|
"md5" : "71327240323c5176b4c88b7acab9b010",
|
"filename" : "e:\\fbfiles\\image_0001.jpg",
|
"contentType" : null,
|
"uploadDate" : ISODate("2013-10-12T23:45:16.108Z"),
|
"aliases" : null
|
}
|
But it is saved as this:
{
|
"_id" : ObjectId("5259df0cee372f2ba1d547e8"),
|
"XXX" : "YYYY",
|
"chunkSize" : NumberLong(262144),
|
"length" : NumberLong(13236),
|
"md5" : "71327240323c5176b4c88b7acab9b010",
|
"filename" : "e:\\fbfiles\\image_0001.jpg",
|
"contentType" : null,
|
"uploadDate" : ISODate("2013-10-12T23:45:16.108Z"),
|
"aliases" : null
|
}
|