mongodb在同时执行批量插入和更新时有字段无法插入或者被更新

kevinpan2009 2017-09-07 10:43:52
想通过批量更新通过UpdateOptions设置为TRUE的方式塞大批量的数据进MONGODB,有A,B,C三个字段。
通过A字段查询,如果没有值则塞入A,B,C 。 如果A查询有值则更新C字段 ,想通过批量更新方式
UpdateOneModel<Document> uom = new UpdateOneModel<Document>(queryDocument,updateDocument,new UpdateOptions().upsert(true));
但这样的话有问题,B值要么无法赋值要么会被更新掉。


因为是大批量的数据处理,在考虑性能性的前提下 不考虑下面处理方式
先查询mongodb无A值的数据进行插入 ,再讲其他数据更新操作。

刚接触mongodb不久,求各位大贤帮忙看看有没有不影响性能的情况下比较好点的解决方式。
...全文
982 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinpan2009 2017-09-07
  • 打赏
  • 举报
回复
List<WriteModel<Document>> requests = new ArrayList<WriteModel<Document>>(); UpdateOneModel<Document> uom = new UpdateOneModel<Document>(queryDocument,updateDocument,new UpdateOptions().upsert(true)); requests.add(uom); BulkWriteResult bulkWriteResult = coll.bulkWrite(requests); 目前用的这种批量处理数据的,但没法解决上面的问题

1,747

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧