4
我是MongoDB的新手,我正在用Spring Data MongoDB開始一個新項目。如何避免在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
。
我該如何避免這種情況?
我會給這一點。簡單再現'db,test.insert({「a」:NumberLong(「1」)}); db.test.update({「a」:1},{「$ inc」:{「a」:1}})'。現在是雙。 – 2015-03-19 11:36:20
@NeilLunn所以......課程是:「不要使用$ inc」? :) – davioooh 2015-03-19 11:42:41
可能是這樣(ROFL),但不是這裏的首選「答案」。我希望看到一個合理的迴應,爲什麼這是如此(一般顯而易見),以及爲什麼不能進行更嚴格的類型檢查。我非常懶,不喜歡那些不是我的代碼。 – 2015-03-19 11:46:11