我正在通过strongloop的环回提供一个REST Api。
我需要通过一些调用来添加模型实例的锁定,比如:
POST /User/{id}/tryLock
这将返回一个Lock实例,其中包含一些附加信息:锁定是否成功、哪个用户锁定了对象等。
我正在使用loopback-connector-mysql,并且我知道在同步MySQL中我将使用某种形式的:
BEGIN TRANSACTION;
SELECT lockId FROM object WHERE id = objectId FOR UPDATE;
// This is C++ or Java or whatever:
if(lockId != NULL)
Fatal("Object was locked")
INSERT INTO locks (objectId, userId, ...);
UPDATE object SET lockId = locks.lastInsertId WHERE id = objectId;
COMMIT;这样的事情在loopback中是可能的吗?我喜欢将它实现为一个mixin,这样我就可以在选定的模型中使用它。
谢谢!
发布于 2015-05-19 20:33:04
要使用的应该是Remote Hooks
User.beforeRemote( "tryLock", function( ctx, modelInstance, next) {
//put code here
}有一种方法可以通过loopback-connector-mysql执行SQL语句。
因此,我的直觉是看看您是否可以将SQL语句写入其中(假设您的用户模式绑定到MySQL,并且用户模型已通过Arc迁移到MySQL )。
以下是连接器中可用函数的摘录-您必须做一些研究,以找出它是如何绑定到模型上的,以查看它是否可访问。
MySQL.prototype.executeSQL = function(sql, params, options, callback) {https://stackoverflow.com/questions/30325028
复制相似问题