2016-11-16 1 views
0

Недавно я загрузил код. Я не могу понять, как загрузить и прочитать файл с помощью mongoDB и mongoose.Как найти местоположение загруженного файла в mongoDB?

Вот код и мое понимание.

В app.js mongoose подключается к mongoDB, а в myDB.js определяет, где будут храниться данные.

app.js

mongoose.connect(myDB.db); 
mongoose.connection.on('connected', (connection) => { 
    gfs = new GridFsStorage('/data') 
    gfs.on('ready', function() { 
     setupModelRoutes(mongoose.connection.db) 
    }) 
}) 

myDB.js

module.exports = { 
    db: process.env.MONGODB || 'mongodb://localhost:27017/myData', 
    gridFs: process.env.GRIDFS || 'mongodb://localhost:27017/test', 
}; 

Я предполагаю, что я могу найти загруженный файл в "MyData". Однако на моем компьютере нет файла «myData». Я не создал его.

Но удивительно, что mongoDB и mongoose работают. Я могу загружать и читать мои загруженные файлы в браузере, но я не могу найти, где хранятся файлы.

Я проверил путь по умолчанию моего mongoDB, который является/data/db. Кажется, что данные не хранятся в папке. Мне интересно, где данные на самом деле хранятся и хранятся в каком типе.

ответ

0

Вы ищете не то место.

Для этого необходимо запросить GridFS collection. Как сказано в документации:

GridFS хранит файлы в двух сборниках:

  • ломти хранит двоичные куски. Для получения дополнительной информации см. The chunks Collection.
  • файлы хранят метаданные файла. Для получения дополнительной информации см. The files Collection.