【问题标题】:MongoDB schema for storing user location history用于存储用户位置历史的 MongoDB 模式
【发布时间】:2012-03-14 04:30:36
【问题描述】:

我想使用 MongoDB 来存储我的用户位置历史记录(当然,在他们同意的情况下)。我看到以下三个选项:

  1. 为所有用户创建一个位置集合。每个文档都有一个 userId 字段和一个 time 字段,这两个字段都将被索引。此集合中的行数可能会超过 1 亿。
  2. 创建一个包含用户的集合,这些用户的位置作为嵌入式数组。这使得搜索位置变得更加困难,因为 MongoDB 显然不支持返回嵌入文档的查询。
  3. 为每位用户创建一个包含其位置历史记录的集合。我知道一个 MongoDB 实例的 24K 集合的限制,我认为这个限制目前是可以容忍的。

如果有任何反馈可以帮助我做出选择,我将不胜感激。

感谢和欢呼, 乔治

【问题讨论】:

  • 这真的取决于你在寻找什么——你要查询什么?如果一个用户去过一个特定的位置,或者如果一个位置有很多用户经常光顾?如果您选择架构 #1,您可以对 userId 和 location_id 进行索引,而对于 #2,如果您希望每个用户的 location_id 稳步增加,这将以性能为代价。
  • 谢谢巴里。目前还不清楚我需要什么样的查询。这是一个探索性项目。我认为很可能,我将实现一些涉及寻找最近朋友的功能。这就是为什么我目前最喜欢的是选项 1。
  • 应该如此。它是唯一提供灵活性且不限制扩展到超过 24k 用户的选项。去1。

标签: mongodb schema


【解决方案1】:

正如上面的 cmets 中提到的,我选择了选项 1,并且在这一点上并不后悔。感谢您的帮助。

干杯, 乔治

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 2020-08-20
    相关资源
    最近更新 更多