0
User1 {
  _id: "my_user1",
  name: "john smith",
  email: "blah@test.com,
  friends: [
    "my_user2",
    "my_user3",
    "my_user4",
  ]
}

这将是一个例子。我的网站布局是 blah.com/user/。似乎只使用用户名作为数据库的唯一键会更容易。这是否会导致减速或这是错误的?

4

2 回答 2

2

通常,您会看到人们使用固定 ID 而不是用户名,原因如下:

  • 通常,用户名可能会更改(例如,将我的用户名从“bob”更改为“robert”)
  • ID,尤其是数字 ID,通常可以更有效地存储和索引
于 2013-02-10T17:45:52.560 回答
2

在用户名不经常更改的前提下,使用用户名作为密钥是有好处的。

当您查看用户的个人资料时,您当然希望看到他们的朋友列表。当您将朋友存储为可读名称时,您可以显示此列表而无需额外的数据库查询。但是,当您将它们存储为 ID 时,需要使用附加查询来查找每个朋友的姓名,这可能需要一段时间。

于 2013-02-10T17:51:37.020 回答