gpt4 book ai didi

javascript - 有什么方法可以通过 javascript/jquery 将 Mongo ObjectId 转换为字符串

转载 作者:行者123 更新时间:2023-11-29 19:18:43 26 4
gpt4 key购买 nike

enter image description here

enter image description here

是否可以将 mongo objectId 转换为字符串。

上面的图片显示了我收到并显示在控制台中的数据。我需要字符串形式的 id 值。但是 ObjectId 作为对象返回

在数据库中,id 看起来像这样 - 565d3bf4cefddf1748d1fc5e -objectId,我需要完全像这样的 id –

最佳答案

根据 Mongo 文档:

  • 一个 4 字节的值,表示自 Unix 纪元以来的秒数,
  • 一个 3 字节的机器标识符,
  • 一个 2 字节的进程 ID,和
  • 一个 3 字节的计数器,以一个随机值开始。

您可以在这里查看:https://docs.mongodb.org/manual/reference/object-id/

所以在 javascript 中你可以做这样的事情。

var mId = {
Timestamp:1448950573,
Machine:13565407,
Pid:1756,
Increment:8888962
};

function getId(mongoId) {
var result =
pad0(mongoId.Timestamp.toString(16), 8) +
pad0(mongoId.Machine.toString(16), 6) +
pad0(mongoId.Pid.toString(16), 4) +
pad0(mongoId.Increment.toString(16), 6);

return result;
}

function pad0(str, len) {
var zeros = "00000000000000000000000000";
if (str.length < len) {
return zeros.substr(0, len-str.length) + str;
}

return str;
}

console.log(getId(mId))

它生成“565d3b2dcefddf06dc87a282”,这与您拥有的 ID 不完全相同,但这可能只是一个调整,或者我正在处理不同的数据 :D。

编辑
添加了一个填充函数,这样零就不会被 chop 。

希望对你有帮助

关于javascript - 有什么方法可以通过 javascript/jquery 将 Mongo ObjectId 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34058200/

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