项目中使用flink存数据到mongo,使用了upsert,发现入数很慢,效率很低,经过测试之后,发现是代码中设置_id的问题
使用的jar包和原来的代码
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.11.0</version>
</dependency>
BasicDBObject searchDoc = new BasicDBObject();
searchDoc.append("_id.time","20200101");
searchDoc.append("_id.name","testName");
测试之后,发现mongo的_id拼接方法要改成
BasicDBObject searchDoc = new BasicDBObject("_id", new BasicDBObject("time", "20200101").append("name", "testName"));