有我正在处理的这个项目。这就像一个社交网络,我们可以有用户,帖子,图片等,然后出现这个问题。我们习惯于使用Mysql和“几乎不可思议的”自动增量字段,现在我们不能再依靠它了。我知道Mongo中的_id对象为识别文档提供了一种简单的方法,因为它保证了唯一性。但关键不是用户友好的,这就是我们所需要的,所以我们可以像网址:在MongoDb中生成用户友好的ID
http://website.com/posts/{post_id}
http://website.com/{user_id}
我开发了一个解决方案,但我不认为这是这样做的最佳方式。我首先创建一个只有一列的mysql表。此列存储user_id,它是一个自动增量字段。对于mongo上的每个新记录,我在这个mysql表中插入一个新行,并使用“LAST_INSERT_ID”函数获取user_id,现在我可以使用数字ID将我的数据插入到我的mongo集合中。而其他好处是,我可以擦除我的MySQL表,比方说,在一百万行之后,因为这些ID已经存储在mongo中。 我做错了吗?
您希望用户记住一个整数?唯一一个我认识的人是得到了xkcd成名的兰德尔,而他只有超过1000人。只要使用mongo IDs-用户不会记住它们。 – 2012-03-03 16:58:41
“用户友好”代表人类可读和可理解的内容。我不需要用户记住它,但因为其他原因我需要它。 – 2012-03-03 17:22:54