javascript - meteor &出版锁

标签 javascript meteor

场景:我想向用户显示一个项目,然后锁定它,这样其他人就看不到它,一旦用户完成它,就显示下一个项目。

问题是发布中的查询必须检查锁。因此,一旦您更改锁,光标就会更新,项目也会更改。

如何解决?

编辑: 已发布的示例代码无法运行:

var item = Items.find({
    locked: false
}, {
    limit: 1
});

var itemObj = item.fetch()[0];
Items.update(itemObj._id, {$set: {locked: true}});
return item;

最佳答案

更好的解决方案可能是将项目分配给 userId。一旦他完成了该项目,该项目就会再次取消分配。

可以这样做:

  • 方法调用 Items.assignToUser - 查找要分配的项目并设置 assignedUserId
  • 订阅分配给我的所有项目(可能限制为 1)

完成后: 方法调用 Items.unassignFromUser - 再次将字段 assignedUserId 设置为 null

关于javascript - meteor &出版锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31134292/

相关文章:

javascript - 无需转译器将 ES6 JavaScript 转换为 ES5

javascript - 我如何使用扩展器和收集运算符在 ES6 中实现以下功能?

javascript - 有没有办法使用meteor SimpleSchema + Autoforms 重用模板将数据存储到不同的相同集合中?

css - meteor 包 : How to use different CSS based on 'development' or 'production'

javascript - 无法使用 Meteor 读取未定义的属性 'bcrypt'

css - 基于模板值动态设置 CSS 属性

javascript - 你如何从 JavaScript 深处的两个函数返回

javascript - 计算 2 个选项值的总和

javascript - 里程表格式不起作用

node.js - meteor 部署错误