我在一个项目中使用 Meteor JS,所以本质上我使用 MongoDB。我正在存储用户的 checkin 和 checkout 操作。我目前将它们作为单独的文档存储在集合中。每个 Action 包含3个字段;进或出、操作时间和用户 ID。这是最好的方法吗?我是否应该为每个成员提供一个文档,然后将每个操作存储在一个数组中?还有别的办法吗?我预计会有数百名成员,但希望 future 有数千名成员。谢谢。
最佳答案
根据经验,我可以说从长远来看,存储记录而不是数组是更好的选择。
就 Meteor 而言,它的 react 性处理集合记录,但不处理数组中的单个字段。换句话说,如果将一个元素添加到用户对象的 checkins
数组中,则整个用户对象需要与客户端同步。如果您存储记录,则发布将仅发送新添加的记录。
就 MongoDB 而言,文档大小限制为 16MB。不确定您 checkin 和 checkout 的频率,但如果您将它们存储在数组中,您可能会在某些时候遇到该限制。
记录也比数组更容易访问。
更多详情,请参阅 MongoDB data modeling和 Database modeling在《防弹 meteor 》中。
关于javascript - 如何使用 MongoDB 在 MeteorJs 中存储用户操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28249381/