【发布时间】:2012-01-13 10:23:10
【问题描述】:
我正在尝试寻找一些使用 node-mysql 编写 MySQL 模型的良好做法。
这是我目前所拥有的:
var client = app.settings.client; // Client is set in Express settings
var table = 'users';
var User = function() {
}
// Create the user with data from Facebook
User.prototype.createFromFacebook = function (name, first_name, last_name, email, location, gender, facebookId, facebookToken, callback) {
client.query(
'INSERT INTO ' + table +
' SET name = ?, first_name = ?, last_name = ?, email = ?, location = ?,' +
' gender = ?, facebook_id = ?, facebook_token = ?',
[ name, first_name, last_name, email, location, gender, facebookId, facebookToken ],
function selectCb(err, results, fields) {
if(err) {
callback(err);
} else {
callback(null, results);
}
}
);
}
// Get user with just their email address
User.prototype.getByEmail = function (email, callback) {
client.query(
'SELECT * FROM ' + table +
' WHERE email = ?',
[ email ],
function selectCb(err, results, fields) {
if(err) {
callback(err);
} else {
callback(null, results);
}
}
);
}
module.exports = User;
对此的任何批评或改进都会很棒。谢谢!
【问题讨论】:
-
为什么不应该对第一种方法使用对象说明符
-
就像您使用 module.exports 分隔事物的方式一样。 2年多了,今天你是如何改进的?请与我们分享我真的很感兴趣可乐我喜欢任何看起来像 orm 的东西