使用MongoTemplate-collection.findAndModify时,它将删除所有文档字段,仅保留更新的列。
这是为什么?
如何部分更新文档中的字段?
DBCollection collection = mongoTemplate.getCollection("company");
DBObject query= new BasicDBObject("companyId","1");
DBObject update= new BasicDBObject("phoneNumber","404-525-3928");
DBObject result = collection.findAndModify(query, update);
此时-从公司1删除所有字段...
解决方法是去数据库,获取公司1文档更新字段并保存...,
但是如果我需要更新10K怎么办?
您需要$set
操作员在更新文档中。您可以在此处使用该操作符和其他更新操作符,否则您指定的内容将替换文档当前包含的内容:
DBCollection collection = mongoTemplate.getCollection("company");
DBObject query= new BasicDBObject("companyId","1");
DBObject update= new BasicDBObject(
"$set", new BasicDBObject("phoneNumber","404-525-3928")
);
DBObject result = collection.findAndModify(query, update);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句