gpt4 book ai didi

mysql - 对于这种情况使用什么 MongoDB 数据模型?带标签的用户列表。获取所有不同标签的列表

转载 作者:行者123 更新时间:2023-11-29 21:58:24 27 4
gpt4 key购买 nike

我有一个数据模型,用户在服务器中 checkin ,发送他的 ID 以及他所应用的标签列表。例如:

- User: 1, Tags: "ios8.1", "v1.1", "location_enabled", "likes_pizza"
- User: 2, Tags: "android5.0", "v1.1", "location_disabled", "likes_pizza"

预计会有数百万个并发写入(数百万个移动设备发送其标签,因此我需要一个高度可扩展的数据库)。

另一方面,我有一个网络面板,显示所有不同标签的列表,并且它应该显示拥有每个标签的用户数量。在此示例中:

- "ios8.1" = 1 user
- "android5.0" = 1 user
- "v1.1" = 2 users
- "location_enabled" = 1 user
- "location_disabled" = 1 user
- "likes_pizza" = 2 users

网络面板还应该允许查询具有例如标签“v1.1”和“location_enabled”的用户列表

我应该使用哪种数据模型?使用 MongoDB 可以还是使用其他数据库引擎更好?

我想到了几种选择:

1) 用户的文档/表结构为:ID、其他用户字段。我有另一个带有标签的文档/表:ID、Tag_name。最后,我有一个关联两者的表:ID_user、ID_Tag。这就是典型的关系数据库结构。每次用户写入新标签时,我都必须删除该用户的 User_Tags 表中的所有条目,找到 Tags 表中的所有标签 ID,并在 User_Tags 表中创建新关系......但这似乎很友善每个用户查询都需要做大量的工作。我在 MySQL 中使用这个数据库模型,并且遇到了很多并发问题,例如由于数据库被锁定而导致请求被丢弃。

2) 用户的文档具有标签数组:ID、标签:[...]。当用户更新他的标签时,它只会覆盖标签数组......但是我不知道如何有效地获取不同标签的列表以显示在网络面板中。

最佳答案

关于mysql - 对于这种情况使用什么 MongoDB 数据模型?带标签的用户列表。获取所有不同标签的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32902503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com