如何避免更改 MongoDB 中的字段数据类型?
How to avoid changes to field data type in MongoDB?
我是 MongoDB 的新手,我正在使用 Spring 数据 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
但是做了一些测试,我尝试通过 $inc
修饰符增加 quantity
字段:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : 1}});
现在 quantity
字段类型更改为 Double
。
我怎样才能避免这种情况?
感谢 Neil Lunn 评论,我意识到为我的 quantity
字段保持相同数据类型的方法是明确指定增量金额的类型.
在这种情况下,我有一个 Int32
,所以我可以使用此代码更新它:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : NumberInt(1)}});
我是 MongoDB 的新手,我正在使用 Spring 数据 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
但是做了一些测试,我尝试通过 $inc
修饰符增加 quantity
字段:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : 1}});
现在 quantity
字段类型更改为 Double
。
我怎样才能避免这种情况?
感谢 Neil Lunn 评论,我意识到为我的 quantity
字段保持相同数据类型的方法是明确指定增量金额的类型.
在这种情况下,我有一个 Int32
,所以我可以使用此代码更新它:
db.products.update({"name" : "A product"}, {"$inc" : {"quantity" : NumberInt(1)}});