如果插入以下文档,请使用Mongo Java Driver:
Document Monday = new Document()
.append("counter",1)
.append("model1", data1)
.append("model2", data1)
.append("model3", data1)
.append("model4", data1);
我希望计数器的类型为NumberInt()。我发现它似乎最终成为NumberLong()。所以我把上面的内容重写为:
int counter = 1;
Document Monday = new Document()
.append("counter",counter)
.append("model1", data1)
.append("model2", data1)
.append("model3", data1)
.append("model4", data1);
这肯定会创建NumberInt()。当我按照以下方式进行更新时:
if (counter>=4){counter=1;}else{counter++;}
loc = DoW.concat(".").concat("counter");
collection.updateOne(and(eq("topic",topic),eq("sp",settlement)), new Document("$set", new Document(loc,counter)));
类型是否保持为NumberInt(),还是由Mongo majic转换为NumberLong()。这个问题出现在:
int counter = docday.getInteger("counter");
从1更改为int counter = 1;确保Mongo将使用NumberInt()而不是NumberLong()。
什么控制了这个决定,如何在Java驱动程序中强制使用NumberInt()。