首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Strongloop loopback:原子锁定模型实例

问Strongloop loopback:原子锁定模型实例
EN

Stack Overflow用户
提问于 2015-05-19 19:59:53
回答 1查看 1.1K关注 0票数 0

我正在通过strongloop的环回提供一个REST Api。

我需要通过一些调用来添加模型实例的锁定,比如:

POST /User/{id}/tryLock

这将返回一个Lock实例,其中包含一些附加信息:锁定是否成功、哪个用户锁定了对象等。

我正在使用loopback-connector-mysql,并且我知道在同步MySQL中我将使用某种形式的:

代码语言:javascript
复制
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,这样我就可以在选定的模型中使用它。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-05-19 20:33:04

要使用的应该是Remote Hooks

代码语言:javascript
复制
User.beforeRemote( "tryLock", function( ctx, modelInstance, next) {
   //put code here    
}

有一种方法可以通过loopback-connector-mysql执行SQL语句。

因此,我的直觉是看看您是否可以将SQL语句写入其中(假设您的用户模式绑定到MySQL,并且用户模型已通过Arc迁移到MySQL )。

以下是连接器中可用函数的摘录-您必须做一些研究,以找出它是如何绑定到模型上的,以查看它是否可访问。

代码语言:javascript
复制
MySQL.prototype.executeSQL = function(sql, params, options, callback) {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30325028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档