我正在设计一个数据库表,用于存储用户搜索的所有查询(以便我可以将其用于自动建议)。此外,我想存储搜索它的数据以及查询发生的时间。
我有两种方法:
{
_id: "some-random-value-1",
query: "this is the query",
user: "username-1",
date: "query-time-1"
}
{
_id: "some-random-value-2",
query: "this is the query",
user: "username-2",
date: "query-time-2"
}
和
{
_id: "some-random-value",
query: "this is the query",
query-details: [
{user: "username-1", date:"query-time-1"},
{user: "username-2", date:"query-time-2"}
]
}
如您所见,第一个保存了同一搜索查询的多个查询。
所以,这是两者中较好的方法(建议如果有更好的方法),即使将来我想要获取查询计数等详细信息等。
答案 0 :(得分:1)
实际上,这取决于您要如何插入/更新和查询数据。在不知情的情况下,我不敢提出任何解决方案,但我可能会分享一些您可能会发现有用的想法。
首先,我假设您希望每个用户只存储唯一的查询,因此更容易查询它们以进行自我提示。如果是的话,我会基本上选择你的第一个选项添加一些更确定的。
希望它有所帮助!