遇到的问题---MongoDB的java驱动的坑---启用副本集后id的update无效
来源:互联网 发布:百鸟朝凤 知乎 编辑:程序博客网 时间:2024/06/04 00:40
情况
我们有文档如下:
{
“_id”: ObjectId(‘59f189e9861afe7aa6d684b0’),
“mobile”: “12345678”,
“reason”: 18,
“createOper”: “zhangzequan”,
“createDate”: ISODate(‘2017-10-26T07:08:25.669Z’)
}
在代码中需要对该文档进行更新,使用代码如下:
private void dealt(String resampleId, String operator, String remark) {
Update update = new Update();
update.set(“dealtOper”, operator);
update.set(“dealtDate”, FormatDate.now());
if (!StringUtils.isEmpty(remark)) {
update.set(“remark”, remark);
}
mongoOperations.updateFirst(Query.query(Criteria.where(“id”).is(resampleId)),
update,
Resample.class);
}
之前一直没问题,可以正常更新文档。
突然有一天 更新失效,而且也不报错。
原因
经过对比排查后 发现 启用副本集之后 id的update就失效了。find使用id查询正常。
解决方式
将id修改成_id,跟数据库字段的对应起来。
使用代码如下:
private void dealt(String resampleId, String operator, String remark) {
Update update = new Update();
update.set(“dealtOper”, operator);
update.set(“dealtDate”, FormatDate.now());
if (!StringUtils.isEmpty(remark)) {
update.set(“remark”, remark);
}
mongoOperations.updateFirst(Query.query(Criteria.where(“_id”).is(resampleId)),
update,
Resample.class);
}
- 遇到的问题---MongoDB的java驱动的坑---启用副本集后id的update无效
- mongodb的副本集
- Mongodb副本集的维护
- Mongodb副本集的维护
- MongoDb的副本集测试
- MongoDB:副本集的配置
- MongoDB副本集的搭建
- Mongodb的副本集+分片部署
- MongoDB副本集的配置示例
- MongoDB 副本集的搭建、应用
- mongodb的副本集Replica Set
- 阅读 mongodb 副本集的 笔记
- MongoDB简单副本集的搭建
- MongoDB简单副本集的测试
- MongoDB 副本集的搭建、应用
- mongodb的主从复制和副本集
- MongoDB的安装(单机,副本集,分片)
- mongodb主从,副本集,分片的理解
- 关于ajax为什么要return true/false
- 顺序表实现之C语言(附加各种顺序表排序问题)
- 两个程序的爱情故事
- 游戏开发中常见的几种碰撞检测
- 51例程---led点阵
- 遇到的问题---MongoDB的java驱动的坑---启用副本集后id的update无效
- Java数据类型和MySql数据类型对应表
- 人工智能语聊的相关原理学习(二)
- 种一棵顺序存储的二叉树
- Python数据科学Jupyter-Matplotlib-Numpy-Keras-Pandas速查
- java-mail
- Inno Setup入门(十六)——Inno Setup类参考(2)
- 10.28/29作业
- linux学习第十六篇:LVM,磁盘故障小案例