0
例如,對於查找和保存文件MongoDB中:對於NOSql的ACID沒有保證,那麼如何確保一致性?
Article article1 = mongoOperation.findOne(new Query(Criteria.where("_id").is(1)), Article.class);
mongoOperation.save(article.setAttrA("A"));
Article article2 = mongoOperation.findOne(new Query(Criteria.where("_id").is(1)), Article.class);
mongoOperation.save(article.setAttrB("B"));
默認情況下,_id是主鍵,以便第一條和第二條的文件是相同的。
是否有可能爲第2條獲得過時的文檔,該文檔中attrA尚未設置爲A,因爲在理論上MongoDB不遵循ACID屬性。
謝謝你的回答。還有一個問題需要確認,即使沒有副本集,MongoDB的不一致性是否仍然存在?換句話說,我可以說修改id方法總是必要的,以確保一致性嗎? – fmchan