MongoDB GridFS文件插入Java

时间:2014-03-21 09:40:59

标签: java mongodb gridfs

我使用以下命令行将数据插入GridFS:

mongofiles --host localhost:27017 --db testmongo --collection files put D:/text.txt

它有像_id filename chunkSize uploadDate md5 length这样的字段。

如何使用cmd或Java添加自己的字段?

1 个答案:

答案 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
}