我可以在不定义模型的情况下从 sails 连接到 mysql 数据库吗?
can i connect to mysql database from sails without defining models?
我正在使用 sails.js 和 sails-MySQL,我想连接到 MySQL 数据库。我的 workbench 中有表、函数和过程。现在我想知道是否有必要创建模型文件并再次定义我的模式?
是的,您可以在不定义模型的情况下连接到您的数据库。但是请记住,您每次都必须编写原始查询。所以首先你需要在你的 datastores.js 文件中定义你的数据库连接。然后,当您想从数据库中获取某些内容时,您可以在某些控制器中执行以下操作(假设您有 table 个用户并且您想要获取所有这些用户):
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 部分 "Using datastores without a model"
我正在使用 sails.js 和 sails-MySQL,我想连接到 MySQL 数据库。我的 workbench 中有表、函数和过程。现在我想知道是否有必要创建模型文件并再次定义我的模式?
是的,您可以在不定义模型的情况下连接到您的数据库。但是请记住,您每次都必须编写原始查询。所以首先你需要在你的 datastores.js 文件中定义你的数据库连接。然后,当您想从数据库中获取某些内容时,您可以在某些控制器中执行以下操作(假设您有 table 个用户并且您想要获取所有这些用户):
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 部分 "Using datastores without a model"