MongoDB设计问题

时间:2013-02-12 15:49:07

标签: mongodb

我想创建一个评级数组,在这个数组中,我想以某种方式关联评级和日期,此评级被检查。 现在我有这个解决方案:

> db.foo.find().pretty()
{
    "_id" : ObjectId("511a604f546e6b3019d5e673"),
    "ratings" : [
        {
            "rating" : 3,
            "date" : ISODate("2013-02-12T15:31:27.950Z")
        },
        {
            "rating" : 5,
            "date" : ISODate("2013-02-12T15:34:12.072Z")
        },
        {
            "rating" : 3,
            "date" : ISODate("2013-02-12T15:34:33.009Z")
        }
    ]
}

有了这个“架构”,我看到了唯一的一个大问题,我认为按日期排序文件很复杂,如果我错了,请纠正我。你会如何设计它?

1 个答案:

答案 0 :(得分:3)

将评级存储在单独的“评级”集合中。

此策略增加了需要两个查询以显示“foo”及其评级(每个集合一个查询)的次要复杂性,但具有灵活性和可伸缩性的优势。

另见10gen的建议:Storing Comments