比较来自世界各地的卖家的域名和 IT 服务价格

创建短唯一对象标识符 MongoDB

我做一个类似的申请 instagram, 使用 Rails/Mongoid., 我想要独特 ID, 我可以使用它 url, 作为
http://instagr.am/p/DJmU8/
/

最简单的方法是什么? 我可以得到这样吗? ID 从标准 BSON ObjectID, 这是创造的 Mongo?
已邀请:

小姐请别说爱

赞同来自:

您可以尝试使用第一个 4 字节 ObjectID /他们将被提交 timestamp/.

但要安全 100%, 最好创建一个真正独特的短标识符,实现计数器。 您可以使用单独的集合来维护计数器的当前值。

有关该结构的更多信息 mongo ObjectID 您可以在这里找到:
http://www.mongodb.org/display/DOCS/Object+IDs
或者,您可以转换性能 hex string id 在基于的演示文稿中 36 符号 /26 拉丁字母 + 10 数字/. 显然,她将更短。

似乎有一个图书馆 ruby, 这可以做出这种转变
http://rubyworks.github.com/radix/
/

奔跑吧少年

赞同来自:

为什么不使用
https://github.com/dylang/shortid
?

使用 npm
http://www.npmjs.com/package/shortid
:


npm i shortid


然后需要:


const shortid = require/'shortid'/;


在该计划中 mongoose:


new Schema {
_id: {
type: String,
default: shortid.generate
}
}


或者直接插入:


users.insert/{
_id: shortid.generate//
name: ...
email: ...
}/;

三叔

赞同来自:

你可能会尝试 Mongoid::Token

https://github.com/thetron/mongoid_token
来自文件:

这个库是一种快速而简单的方法,可以生成唯一,随机
为您的文件令牌 mongoid, 在你不能或的情况下
不想使用SLUIs或默认 MongoDB IDs.

Mongoid::Token 可以帮助转动:

http://myawesomewebapp.com/vid ... /edit
在更类似类似的东西中:

http://myawesomewebapp.com/video/83xQ3r/edit

冰洋

赞同来自:

@aav 有人提到你可以使用第一个 4 字节,但这个值是在几秒钟内,你甚至可以得到 10.000 每秒或更多插入。 另一件事对象是一个Unic,你需要检查 "when" 您收到重复值的错误消息 "留下问题"?

new Date//.getTime//-is in milliseconds => 1557702577900 为什么不使用最后一个 4 字节 ?

这个代码看起来很有趣:

https://github.com/treygriffit ... Id.js
检查解析器 ObjectID timestamp:

https://steveridout.github.io/mongo-object-time/
/

或者你可以表演 ObjectId//.toString// 和此字符串的基础是创建一个新的
https://github.com/ivanakimov/ ... es/39
[nodejs, php, andmanymore]

也许它最好使用 4-5 byte Out. js timestamp 和 INC 的
bson, 接着 hash 这个值是 hids

https://i.stack.imgur.com/QqVVX.jpg

Database 3milion rows numeric increment "_id" size on disk => 76MB, default object id => 86MB

詹大官人

赞同来自:

图书馆 Hashids 专为代代设计而设计 IDs 因此。 在这里检查一下 ☞
https://github.com/peterhellberg/hashids.rb

要回复问题请先登录注册