mongodb - GridFS 和 Sailsjs

标签 mongodb sails.js gridfs

为了创建新的 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/

相关文章:

java - MongoDB/Java : Finding unique documents based on value

mongodb - 如何获得 mongoDB 集合的排名位置?

mongodb - Mongoose query.populate 只返回 objectId

javascript - 保存使用 GridFS 下载的文件以在网站上使用

ruby-on-rails - 没有 ActiveRecord rails 6 的 ActiveStorage

node.js - MongoDB GridFS - 是文件名还是文件名

mongodb - 如何在 node.js 服务器中自动重新连接 mongo?

mongodb - 当模型验证失败时,Sails 不会显示错误

node.js - 如果定义了属性,则从 Waterline 中的模型获取结果

node.js - $Waterline ODM的pull函数用于更新Mongo数据库