最佳方法使用meteor / mongodb实现关注者

时间:2016-05-25 07:48:53

标签: mongodb meteor schema-design

我正在做一个用户可以关注主题的应用。 用mongodb和meteor实现的最佳模式是什么?

我想到了2个解决方案:

FIRST 有一个集合:

Schemas.Follow = new SimpleSchema({
userId: { type: String }
topicId: { type: String }
}

亲:文件16MB限制没问题 缺点:搜索的表现很慢(?)

SECOND 在用户和主题集合中使用ids数组

Schemas.User = new SimpleSchema({
...
follows: { type: [String] }
}

Schemas.Topic = new SimpleSchema({
...
followedBy: { type: [String] }
}

专业:更好的搜索性能 缺点:每个文档限制16MB的问题

你有更好的mongodb和meteor解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

MongoDB ObjectID是一个12字节的对象,由24个字符的字符串表示。即使你假设一个大的存储开销(比如每个ID 100个字节),一个16兆字节的文档也可以存储超过十万个ID。

假设您的用户是人,并且他们手动关注主题,则最有可能将主题ID存储在数组中。