使用update 更新一条数据进去的时候原数据没有被覆盖依然保存。代码如下
DBObject key = new BasicDBObject();
key.put("phone", phone);
key.put("phoneCode", phoneCode);
BasicDBObject updates = new BasicDBObject();
BasicDBObject doc = new BasicDBObject();
updates.put("pwd", pwd);
doc.append("$set", updates);
WriteResult result = collection.update(key, doc, true, false);
要怎样才能够去掉之前的数据。
mongodb java 使用$insert 多出一条数据
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-04 02:30关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在MongoDB中,如果你想要更新一个集合中的文档并删除旧的文档,你可以使用
$unset操作符。这个操作符可以用来从一个或多个字段中删除指定的值,并且不会改变其他字段的内容。以下是一个例子:
BasicDBObject updates = new BasicDBObject(); updates.put("_id", ObjectId); // 如果你的ObjectId是唯一的,你可以使用它来标识你要更新的文档 updates.put("name", "John"); BasicDBObject doc = new BasicDBObject(); doc.append("$unset", updates); WriteResult result = collection.updateOne(key, doc, true, false);在这个例子中,我们首先创建了一个包含要更新的字段和值的基本对象(
updates)。然后,我们创建了另一个基本对象(doc),其中包含了我们要删除的字段。最后,我们调用collection.updateOne()方法,并传入我们的基本对象作为第一个参数,同时将true设置为returnNewDocument参数,以确保新的文档会被返回。如果我们将false替换为returnNewDocument,则原始文档将会被覆盖。请注意,这只是一个示例,实际使用时你可能需要根据你的需求进行调整。例如,如果你想要保留原有的ObjectId,你可以将其添加到
doc中。解决 无用评论 打赏 举报