MongoDB存储用户文件

时间:2015-04-30 15:00:11

标签: mongodb gridfs

我一直在努力熟悉使用MongoDB,特别是GridFS(通过客户端实现)。在我正在玩的项目中,我有相应位置的用户,后面跟着相应的数据,但它目前只存储在最终会导致问题的文件系统上。

我现在拥有的示例数据结构是:

./(userId)/images/img1.png
./(userId)/data/sensor1/sensorOutput1.data
./(userId)/data/sensor1/sensorOutput2.data
./(userId)/data/sensor2/sensorOutput1.data
./(userId)/data/sensor2/sensorOutput2.data

因此,在查看GridFS时,我发现您可以传递属性/值以与每个文件的元数据相关联。看一下这个设置,在阅读MongoDB的教程之后,我想到了这个方法:

拥有一个包含多个集合的数据库(例如数据或图像仅用于分隔某些数据)。然后在每个集合中,为每个文档提供属性,例如:

在图片收集下:

{
    "userId": 5,
    "path": "",
    "filename":"img1.png"
    ...
}

根据数据收集:

{
    "userId": 5,
    "path": "sensor1",
    "filename": "sensorOutput1.data"
    ...
}

另外,我可以有一个收藏品,为了这个例子,我会打电话给"一切"

{
    "userId": 5,
    "path": "images/",
    "filename": "img1.png"
    ...
}
{
    "userId": 5,
    "path": "data/sensor1/",
    "filename": "sensorOutput1.data"
    ...
}
{
    "userId": 5,
    "path": "data/sensor2/",
    "filename": "sensorOutput1.data"
    ...
}

这些解决方案中的任何一个似乎都合理吗?然后我会在"路径"上创建一个索引。属性?我已经看到了向MongoDB添加文件的例子,但却找不到如何构建用户文件的例子。

谢谢!

0 个答案:

没有答案