为了创建新的 GridFS 实例,应提供一个数据库
var grid = new Grid(db, 'fs');
如何在不重新连接的情况下获取数据库(想想 sails.db 或 sails.adapter-mongo.db 之类的东西)?
最佳答案
我是 sailsjs 的新手,但我对 mongodb 也有类似的问题 所以,我开始深入研究 sails 源代码并发现了这个。 (如有错误请指正)
您创建(生成)的每个 sails 模型都与连接对象绑定(bind)。 这定义了您在适配器配置文件中配置的适配器。
引用 sails 文档“自定义适配器”
自定义适配器必须具有指向数据库实例的属性。
综上所述,您可以通过以下方式访问
YourModelName.connections.dbNameFromConfigfile
例如
adapter.js (0.9) 或connection.js (0.10.x)
module.exports.connections = {
someMongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
// user: 'username',
// password: 'password',
database: 'fileDb'
},
};
File.js(模型)
module.exports = {
}
FileController.js( Controller )
module.exports = {
upload: function(req, res){
var db = File.connections.someMongodbServer; // name at config file
your code here....
}
}
关于mongodb - GridFS 和 Sailsjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707001/