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

使用integer类型在MongoDB中创建唯一索引,mongodb,types,unique-index,Mongodb,Types,Unique Index,我想创建一个简单的集合来存储不同设备的统计信息。 每个设备都有一个唯一的设备id。我想强制执行唯一性,所以我想为设备id字段创建一个唯一索引,但我不知道如何告诉集合该字段是number类型 例如,我可以接收设备id为“0x3f”、“0x0003f”、“3f”的查询。。。所有这些都需要匹配到同一个文档。 我可以在查询数据库之前解析请求,但对我来说,这听起来不是正确的解决方案…我建议不要在Mongo中担心这个问题,而是尝试在调用Mongo的应用程序层中处理它。例如,在JavaScript中,使用任何

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

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

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

var i=0x3f;
var j=0x0003f;
如果(i==63){
console.log(“0x3f=63”);
}
如果(j==63){
console.log(“0x0003f=63”);

}
Hi。谢谢你的回答。我想在我的申请中处理这个问题,但我想也许我遗漏了什么。MongoDB对我来说是新的,这是我第一次使用它。从你的回答中,我明白没有更好的解决办法了