MongoDB中文档模型的选择

MongoDB中文档模型的选择,mongodb,pymongo,Mongodb,Pymongo,以下哪种文档模型更适合在MongoDB中使用 Animal: { _id: "1", name: "abc", locations_spotted: [ { locId: "1", dates: ["1-1-2009", "12-4-2013"...] }, { locId: "2", dates: ["3-1-2012", "12-3-2013"...] }

以下哪种文档模型更适合在MongoDB中使用

Animal:
{
    _id: "1",
    name: "abc",
    locations_spotted: [
      {
        locId: "1",
        dates: ["1-1-2009", "12-4-2013"...]
      },
      {
        locId: "2",
        dates: ["3-1-2012", "12-3-2013"...]
      }
      ...
    ]
}

Animal:
{
    _id: "1",
    name: "abc",
    loc1spotdates: ["1-1-2009", "12-4-2013"...],
    loc2spotdates: ["3-1-2012", "12-3-2013"...],
    ...
    ...
}

地点的数量有限,将来可能只会添加几个。

我认为第一个变体更好。因为在将来,如果您希望添加其他信息,可以将其直接添加到数组中的对象中。你没有选择余地。将来您也可以添加一天中的时间。

这里的模式取决于您将来如何使用数据。我主要是查询动物对象的日期。您应该尝试第二个选项,因为它可以方便地访问两个数据:位置和按日期查询。