javascript - 如何使用 MongoDB 在 MeteorJs 中存储用户操作?

标签 javascript arrays performance mongodb meteor

我在一个项目中使用 Meteor JS,所以本质上我使用 MongoDB。我正在存储用户的 checkin 和 checkout 操作。我目前将它们作为单独的文档存储在集合中。每个 Action 包含3个字段;进或出、操作时间和用户 ID。这是最好的方法吗?我是否应该为每个成员提供一个文档,然后将每个操作存储在一个数组中?还有别的办法吗?我预计会有数百名成员,但希望 future 有数千名成员。谢谢。

最佳答案

根据经验,我可以说从长远来看,存储记录而不是数组是更好的选择。

就 Meteor 而言,它的 react 性处理集合记录,但不处理数组中的单个字段。换句话说,如果将一个元素添加到用户对象的 checkins 数组中,则整个用户对象需要与客户端同步。如果您存储记录,则发布将仅发送新添加的记录。

就 MongoDB 而言,文档大小限制为 16MB。不确定您 checkin 和 checkout 的频率,但如果您将它们存储在数组中,您可能会在某些时候遇到该限制。

记录也比数组更容易访问。

更多详情,请参阅 MongoDB data modelingDatabase modeling在《防弹 meteor 》中。

关于javascript - 如何使用 MongoDB 在 MeteorJs 中存储用户操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28249381/

相关文章:

javascript - 在 DigitalOcean 服务器上执行 nodeJS 应用程序

sql - 跨数据库联合

algorithm - 设计一种算法来检查组合

javascript - 在javascript中使用索引数组对数组进行索引

python - 如何修改数组中的字符串?

arrays - 从 Scala 中的 for 循环生成 ArrayBuffer(或其他可变 Collection 类型)

java - EJB 与 Web 服务?性能观点

Javascript 在函数后不断变得未定义 - 提示

javascript - 通过 jQuery 读取 HTML 中下拉列表的选定值

javascript - jQuery UI 对话框 - 无法删除按钮