gpt4 book ai didi

java - 部分更新文档中的字段 - findAndModify 删除所有其他字段?

转载 作者:行者123 更新时间:2023-12-01 12:17:55 25 4
gpt4 key购买 nike

当使用 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更新文档中的运算符。你用那个和其他update operators否则,您指定的内容将替换文档当前包含的内容:

        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);

关于java - 部分更新文档中的字段 - findAndModify 删除所有其他字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com