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");
}
也就是说,只需让应用程序将十六进制文字编组为一个整数值,然后将该 int 值传递给 Mongo。
推荐阅读
- angular - 角形式阵列。动态获取字段键
- java - SimpleResolver 可以接受多个参数吗?
- jsf - 即时属性的影响,以及在 JSF 文档中发现的小差异
- .net - Win7中如何跳过或禁用显示崩溃消息框
- xpages - 在 ViewPanel 中隐藏列
- flutter - 如何在卡片上创建动画?
- javascript - 导入数据后自动设置区域设置
- spring-boot - 是否可以显式配置 Spring Boot 服务器?
- django - Django global variable based on user groups
- javascript - Open Sharepoint https URL in windows file explorer