在mongo中使用ObjectId作为用户的唯一标识符有什么替代方法?

时间:2013-02-10 18:39:03

标签: mongodb collections userid bigdata

我的网站布局如下:

blah.com/user/<username>

User1 {
  _id: "ObjectID(asdfa)",
  name: "john smith",
  email: "blah@test.com,
  friends: [
    "ObjectID(asdfa2)",
    "ObjectID(asdfa3)",
    "ObjectID(asdfa4)",
  ]
}

我宁愿不使用用户名作为我的收藏中的唯一键,所以我想使用ID。但我不认为在任何地方都有ObjectID引用会很好。我如何制作一个有组织的集合,其中_id既独特又可读,没有自动增量?

1 个答案:

答案 0 :(得分:0)

通常,文献建议尝试使用自然键,但正如我所看到的,除了电子邮件之外,您的收藏没有任何有意义的价值,但它通常是敏感数据。

您可以根据您定义的任何业务规则在应用层生成密钥,并避免自动增加密钥,并为系统URL中使用的密钥添加一些含义。

此致 Moacy