我最近下载了一个代码。我无法理解的是如何使用mongoDB和mongoose上传和读取文件。
这是代码和我的理解。
在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 :(得分:0)
你看错了地方。
您需要查询GridFS collection。 如文档中所述:
GridFS将文件存储在两个集合中:
- chunks存储二进制块。有关详细信息,请参阅The chunks Collection.
- 文件存储文件的元数据。有关详细信息,请参阅The files Collection.