在我的connections.js中,我指定了一个mongodb连接:
someMongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
user: '',
password: '',
database: 'your_mongo_db_name_here'
}
在我的控制器中,我已经覆盖了这样的数据库名称:
module.exports = {
sync: function (req, res) {
var params = req.params.all();
sails.config.connections.someMongodbServer.database = "newDynamicName";
console.log(sails.config.connections.someMongodbServer);
User.create(params, function(err, users) {
if (err) return next(err);
res.status(201);
res.json(users);
});
}
};
但它仍然使用connections.js中指定的名称(一旦应用程序被解除,就会创建该数据库)
如果我没有在connections.js中提供任何数据库名称,默认情况下它将创建并使用一个名为sails的名称
我需要在控制器中创建一个带有动态名称的数据库,并在创建后插入新行。这里有什么帮助?
这里的问题是数据库名称是静态的,这意味着它永远不会被写入。因为您已将'your_mongo_db_name_here'分配给数据库变量。无论您在此调用之前分配给数据库名称,都不会将其分配给数据库名称。
解决方案将有一个构造函数参数或创建为函数