我使用以下命令行将数据插入GridFS:
mongofiles --host localhost:27017 --db testmongo --collection files put D:/text.txt
它有像_id filename chunkSize uploadDate md5 length这样的字段。
如何使用cmd或Java添加自己的字段?
答案 0 :(得分:7)
使用mongofiles命令行实用程序无法做到这一点,但使用Java驱动程序很简单:
MongoClient client = new MongoClient();
GridFS gridFS = new GridFS(client.getDB("test");
GridFSInputFile in = gridFS.createFile(<insert bytes here>);
in.put("meta", 5); // insert extra metadata here
in.save();
GridFSDBFile out = gridFS.findOne( new BasicDBObject( "_id" , in.getId() ) );
System.out.println(out.get("meta")); // this will print 5
基本上,只需将元数据放在GridFSInputFile上,然后从GridFSDBFile中获取它。
该文件将如下所示(使用shell):
> db.fs.files.findOne()
{
"_id" : ObjectId("5333184bb0c659a378532bda"),
"chunkSize" : NumberLong(261120),
"length" : NumberLong(3),
"md5" : "acbd18db4cc2f85cedef654fccc4a4d8",
"filename" : null,
"contentType" : null,
"uploadDate" : ISODate("2014-03-26T18:11:23.973Z"),
"aliases" : null,
"meta" : 5
}