微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 MongoDB 中使用整数类型创建唯一索引

如何解决在 MongoDB 中使用整数类型创建唯一索引

我想创建一个简单的集合来存储不同设备的统计信息。 每个设备都有一个唯一的设备 ID。我想强制执行唯一性,所以我想为设备 id 字段创建一个唯一索引,但我没有想出如何告诉集合该字段是数字类型。

例如,我可以接收设备 ID 为“0x3f”、“0x0003f”、“3f”...的查询,并且所有这些查询都需要匹配同一个文档。 我可以在查询数据库之前解析请求,但对我来说这听起来不是正确的解决方案......

解决方法

我建议不要在 Mongo 中担心这个问题,而是尝试在调用 Mongo 的应用程序层中处理它。例如,在 JavaScript 中,请注意使用任何十六进制文字都会转换为相同的整数值:

var i = 0x3f;
var j = 0x0003f;

if (i == 63) {
    console.log("0x3f = 63");
}
if (j == 63) {
    console.log("0x0003f = 63");
}

也就是说,只需让应用程序将十六进制文字编组为整数值,然后将该整数值传递给 Mongo。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。