MongoDB GridFS файл вставки Java

1

Я вставляю данные в GridFS, используя следующую командную строку:

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

Он имеет поля типа _id filename chunkSize uploadDate md5 length.

Как я могу добавить свои собственные поля, используя cmd или Java?

Теги:
gridfs

1 ответ

6
Лучший ответ

Невозможно сделать это с помощью утилиты командной строки 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.

Файл будет выглядеть так (используя оболочку):

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню