1

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

> 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")
        }
    ]
}

有了这个“模式”,我看到了唯一的一个大问题,我认为按日期对文档进行排序并不复杂,如果我错了,请纠正我。你会如何设计它?

4

1 回答 1

3

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

这种策略增加了需要两个查询来显示“foo”及其评级(每个集合一个查询)的小复杂性,但具有灵活性和可扩展性的优势。

另请参阅 10gen 的此建议:存储评论

于 2013-02-12T15:59:13.207 回答