我在 Sails.js 中制作了一个 JS 记录器应用程序,一切看起来都很棒。
现在,我正在扩展应用程序:我需要为同一模型使用多个表(例如,session1
sesson2
等基于 id 的表)。
假设对于模型“Pageview”,我将使用不同的表,例如“Pageview1”、“Pageview2”等。
我如何动态定义该模型的表名,以便我可以根据参数或属性在每次请求时更改它。
到目前为止,我已经尝试过这种方式
var tableId = 2;
Pageview.tableName = "pageview" + tableId;
Pageview.create(values, function...);
该代码不会破坏应用程序,也不会抛出任何错误,但记录会保存在默认表中,而不是我想要的表中。
最佳答案
我不认为这样做是可能的,但是当我读到 this
我认为您可以使用自定义格式来动态定义表名。
如果您要将一行插入到具有自动递增主键的表中,您可以像这样检索插入 ID:
connection.query('INSERT INTO posts SET ?', {title: 'test'}, function(err, result) {
if (err) throw err;
console.log(result.insertId);
});
如果这对行有效,那么它可能对表有效。
关于node.js - Sails.js:模型上的动态表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411243/