我正在使用sails.js和sails-MySQL,我想连接到MySQL数据库。我的工作台中有表,函数和过程。现在我想知道是否有必要创建模型文件并再次定义我的模式?
答案 0 :(得分:1)
是的,您无需定义模型即可连接到数据库。但请记住,每次都必须编写原始查询。首先,您需要在datastores.js文件中定义数据库连接。然后,当您想要从数据库中获取某些内容时,您可以在某些控制器中执行以下操作(假设您有一个表用户,并且您希望获得所有这些内容):
var myDBStore = sails.getDatastore(); //gets the default datastore.
var query = "SELECT * FROM users;";
myDBStore.sendNativeQuery(query).exec(function (err, nativeResult) {
if (err) {
return res.send(err);
}
return res.send(nativeResult.rows);
});
或在异步函数中使用现代方法:
var myDBStore = sails.getDatastore(); //gets the default datastore.
var query = "SELECT * FROM users;";
var nativeResult;
try {
nativeResult = await myDBStore.sendNativeQuery(query);
} catch (err) {
return res.send(err);
}
return res.send(nativeResult.rows);
此处有更多信息:https://sailsjs.com/documentation/reference/waterline-orm/datastores在“使用没有模型的数据存储”
部分