为了创建新的GridFS实例,应该提供一个数据库
var grid = new Grid(db, 'fs');
如何在不重新连接的情况下获取数据库(考虑sails.db或sails.adapter-mongo.db之类的内容)?
答案 0 :(得分:2)
我是sailsjs的新手,但我和mongodb有类似的问题 所以,我开始深入研究sails源代码并发现了这一点。 (如果我错了,请纠正我)
您创建(生成)的每个风帆模型都与连接对象绑定。 这定义适配器,无论你在适配器配置文件中配置什么。
参考sails doc“自定义适配器”
自定义适配器必须具有指向db instance的属性。
总之,您可以通过
访问它YourModelName.connections.dbNameFromConfigfile
e.g。
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(Model)
module.exports = {
}
FileController.js(Controller)
module.exports = {
upload: function(req, res){
var db = File.connections.someMongodbServer; // name at config file
your code here....
}
}