我是MongoDB的新手,我正在使用Spring Data MongoDB开始一个新项目。
我创建了一个简单的模型POJO,并在products
集合中插入了一些文档:
@Document(collection="products")
public class Product {
@Id
private String id;
private String name;
private double price;
private int quantity;
// ...
}
在我的数据库字段中,正确映射了类型:
name
至String
,price
至Double
,quantity
至Int32
但是做了一些测试我尝试通过quantity
修饰符增加$inc
字段:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : 1}});
现在quantity
字段类型已更改为Double
。
我该如何避免这种情况?
答案 0 :(得分:1)
感谢 Neil Lunn 评论,我意识到为quantity
字段保留相同数据类型的方法是明确指定增量金额的类型。
在这种情况下,我有Int32
所以我可以使用此代码来更新它:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : NumberInt(1)}});