我的第二个 multi() 调用需要第一个 multi() 的结果。但是,我希望 multi() 中的所有命令都以原子方式执行。我怎样才能做到这一点?
这是使用 node.js 客户端。
db.multi()
.incr('next:user:id')
.sadd('users:facebookid', facebookId)
.exec(function(err, replies)
{
var newUserId = replies[0];
// if something fails in this multi(), then the previous multi() shouldn't be executed either.
db.multi()
.hmset('user:' + newUserId , 'facebookId', facebookId, 'name', userName)
.incr('users:count')
.exec()
});