How to avoid duplicate using Mongodb c++

Sam Jamali :

I have a unique index in MongoDB to avoid duplicates.

I am trying to convert simple code from java to c ++ here is my code to insert documents into MongoDB. codes are working perfectly but when I try to insert same documents application stop working.

     mongocxx::client conn{ mongocxx::uri{ "mongodb://localhost:27017" } };
     mongocxx::write_concern writeConcern;
     writeConcern.acknowledge_level(mongocxx::write_concern::level(1));

    QFile inputFile(path);
   if (inputFile.open(QIODevice::ReadOnly))
    {
    QTextStream in(&inputFile);
    while (!in.atEnd())
    {
        bsoncxx::builder::stream::document document{};
        auto collection = conn["TestDB"]["fdevices"];
        QString line = in.readLine();
        std::string utf8_text = line.toUtf8().constData();
        document << "Data" << utf8_text;

    collection.insert_one(document.view());
        }
    inputFile.close();
     }

here is the code that I used in java. in java, i can simply ignore duplicates by using mongoClient.setWriteConcern(new WriteConcern(0, 10)); and continue my loop to next document.

    MongoClient mongoClient = new MongoClient(asList( new ServerAddress(host+":"+port)), 
        singletonList(MongoCredential.createScramSha1Credential(uname.getText(),
        MongoClientOptions.builder().serverSelectionTimeout(2000)
                                                          .build());
        mongoClient.setWriteConcern(new WriteConcern(0, 10));
        DB db = mongoClient.getDB(dblist.getSelectedValue().toString());
        DBCollection bookCollection = db.getCollection(collectionss.getSelectedValue().toString());
        for (int i = 0; i <sixe; i++) {
            server.prolab.setText("Uploaded files: "+i+" Total files: "+sixe);
            BasicDBObject doc = new BasicDBObject("Data",dataList.getModel().getElementAt(i));
            bookCollection.insert(doc);
        }
Joyo Waseem :

you are not defining writeConcern method correctly, try these codes.

mongocxx::client conn{ mongocxx::uri{ "mongodb://localhost:27017" } };

        bsoncxx::builder::stream::document document{};
        mongocxx::write_concern writeConcern;
        writeConcern.acknowledge_level(mongocxx::write_concern::level::k_unacknowledged);
        std::chrono::milliseconds timeout = std::chrono::milliseconds(5000);
        auto collection = conn["TestDB"]["fdevices"];
        collection.write_concern(writeConcern);
        conn.write_concern(writeConcern);

 QFile inputFile(path);
 if (inputFile.open(QIODevice::ReadOnly))
 {
 QTextStream in(&inputFile);
 while (!in.atEnd())
 {
    QString line = in.readLine();
    std::string utf8_text = line.toUtf8().constData();
    document << "Data" << utf8_text;
    collection.insert_one(document.view());
     }
 inputFile.close();
  }

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How to avoid duplicate insertion in MongoDB using c# without using "_id" key?

How to avoid adding duplicate objects to an array in MongoDB

How to Avoid Duplicate Entries in MongoDb Meteor App

Using Spring Data,Mongodb, how can I avoid Duplicate vertices error

How to avoid inserting duplicate values in the collection using db.insertMany() in MongoDB?

Mongodb avoid duplicate entries

How to avoid duplicate outputs using logging module

How to avoid using duplicate string literals in python

Avoid a duplicate value when I update array using $push on MongoDB

simple C crossword how to avoid duplicate words

How do I avoid duplicate object entry in Mongodb?

How to avoid duplicate logic?

How to avoid duplicate node?

how to avoid duplicate entries

How to avoid duplicate values ?

how to avoid duplicate in the code using generics or Function classes

how to avoid duplicate code when using an array of components

How to avoid duplicate sass imports(using @use) on Webpack

How to avoid duplicate inserts when using updateOne on a collection

how to avoid selection of duplicate html row to clone using jquery

How do I avoid printing duplicate numbers? [C language]

How to avoid adding duplicate data from CSV file to SQL Server database. Using CSVHelper and C# Blazor

How to avoid duplicate String in a select?

how to avoid "duplicate class" in Java

how to avoid the duplicate column values

How to avoid duplicate object creation

How to avoid duplicate completion in Bash

How to avoid duplicate tests in Go?

How to avoid duplicate form submission?