如何避免更改 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;

    // ...
}

在我的数据库中,字段类型映射正确:

但是做了一些测试,我尝试通过 $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)}});