我正在设计我的第一个 MongoDB(和第一个 NoSQL)数据库,并希望将有关文件的信息存储在一个集合中。作为每个文件文档的一部分,我想存储文件访问(读取和写入)的日志。
我正在考虑创建一个日志消息数组作为文档的一部分:
{
"filename": "some_file_name",
"logs" : [
{ "timestamp": "2012-08-27 11:40:45", "user": "joe", "access": "read" },
{ "timestamp": "2012-08-27 11:41:01", "user": "mary", "access": "write" },
{ "timestamp": "2012-08-27 11:43:23", "user": "joe", "access": "read" }
]
}
每条日志消息将包含时间戳、访问类型和访问文件的人的用户名。我认为这将允许非常快速地访问特定文件的日志,这可能是对日志执行的最常见操作。
我知道 MongoDB 有 16Mbyte 的文档大小限制。我想经常访问的文件可能会突破这个限制。
有没有更好的方法来为这种类型的日志设计 NoSQL 模式?