跟踪是不是在 MongoDB 中单击了复选框/按钮的最佳方法是啥?
Posted
技术标签:
【中文标题】跟踪是不是在 MongoDB 中单击了复选框/按钮的最佳方法是啥?【英文标题】:What's the best way to track if a checkbox / button was clicked in MongoDB?跟踪是否在 MongoDB 中单击了复选框/按钮的最佳方法是什么? 【发布时间】:2020-11-10 12:06:21 【问题描述】:我会尽量缩短它,因为我认为这是一项非常简单的任务,我不知道我为什么要为此苦苦挣扎。
我需要创建一个简单的“task tracking
”网站——行是任务,插入到MongoDB
并从中读取,列是月份。这个想法是,单元格将是checkboxes
,以便能够跟踪单击的内容,以便其他用户知道任务何时完成。
现在我知道我需要在单击 checkbox
时运行某种函数,但是将其存储在 database
中的最佳方法是什么,以便每当更新表时,已经完成的任务将保持勾选?这甚至是一种好方法吗?
如果有人除了解决方案之外有任何建议,我愿意听取他们的意见。
谢谢!
【问题讨论】:
【参考方案1】:假设每个复选框都与存储在 MongoDB 中的文档相关,您将需要允许实时更新的 MongoDB 流。 https://www.mongodb.com/blog/post/an-introduction-to-change-streams 否则,每次选中或取消选中复选框时,您都必须再次调用 API,并且在刷新之前不会更新其他用户的更改。更糟糕的是,用户可能会同时进行更改,从而产生意想不到的结果。
使用 MongoDB 实现这一点很复杂,尤其是使用 Angular 和 TypeScript。如果您觉得有必要,您还可以使用网络套接字,例如Socket.io。我为这个功能找到的一个更容易实现的解决方案是像 Firebase 和 @angular/fire 或 Amazon Elasticache 这样的服务。
【讨论】:
我实际上是在考虑使用套接字。无论如何,它不应该是一个重型网站,只是为了让一小群人(大约 3-4 人)来跟踪应该每月发生的任务。编辑:我想到的另一个解决方案是每月跟踪每个任务,然后可以选择通过某种管理控制台添加新月份或使用按钮。 较小的项目可以从 Firebase 中受益,因为您不必担心服务器,而且它已经内置了 Auth。学习曲线不像套接字或流那么陡峭。您将能够在一行代码中获取实时数据,而不必构建整个服务器端应用程序。以上是关于跟踪是不是在 MongoDB 中单击了复选框/按钮的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章