【发布时间】:2017-05-10 01:47:41
【问题描述】:
我在 MongoDB 中有一个用户,每个用户都有一个界面,允许他们将当前的饥饿状态设置为“饥饿”、“不饿”、“饥饿”、“饥饿”或“饱”的组合
每个用户可以在任何时间段内输入多个选项。例如,一个用例是“早上,记录我的饥饿感”,用户可以输入“不饿”和“饱”。他们可以在一天中的任何时间记录自己的饥饿程度,想记录多少次都可以。
我是否应该将数据存储为单个条目,然后在以后需要在 UI 中显示时按 MongoDB 中的日期对数据进行分组?还是应该将数据存储为用户选择的选项和日期的数组?
【问题讨论】:
-
你的第二种方法对我来说听起来更好——你的集合应该是一组文档,每个文档都代表“X 时刻的饥饿状态”,例如
{"hunger":"FULL", "date" : ISODate("2017-05-09T14:20:35.421Z"), "user" : "user@example.com" }。查询起来似乎很简单。但我对自己的知识不够自信,无法从效率的角度评估这一点。 -
谢谢,这也是我的想法。在 mysql 中,我想我会将每个条目存储为一个,然后根据需要将它们分组。在 MongoDB 中,我想事情有些不同,所以也许将它们组合在一起是一个更好的主意?想知道它还会如何影响性能。
标签: mongodb