Ошибка MongoDB при обновлении метода при многопоточности - PullRequest
1 голос
/ 30 мая 2019

Я работаю с Apache Storm и хочу писать в базе данных MongoDB, но иногда выдает исключение

Caused by: com.mongodb.MongoException$DuplicateKey: { "serverUsed" : "127.0.0.1:27017" , "ok" : 1 , "n" : 0 , "updatedExisting" : false , "err" : "E11000 duplicate key error collection: TesiMarco.UserPostNew_Hampshire index: _id_ dup key: { : \"mainelyinspired\" }" , "code" : 11000}

при использовании параметра параллелизма. В частности, мой болт выполнял:

    public void execute(Tuple input, BasicOutputCollector collector) {
    String user=input.getString(0);
    DBObject query=new BasicDBObject("_id",user);
    DBObject toUpdate=new BasicDBObject("$inc",new BasicDBObject("numeroPost",1));
    collection.update(query,toUpdate,true,false);
}

но он находит дублированную ошибку на ключе. Как я могу выполнить эту часть многопоточности?

...