Skip to content

Instantly share code, notes, and snippets.

@adailsonm
Last active March 17, 2022 18:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adailsonm/99b9a35fa72a556e31053a6f49aa158e to your computer and use it in GitHub Desktop.
Save adailsonm/99b9a35fa72a556e31053a6f49aa158e to your computer and use it in GitHub Desktop.
import modelA from "../models/modelA.js";
import modelB from "../models/modelB.js";
class RepositoryInMongo {
async persistBulk(messages, reprocessing) {
try {
const bulkModelA = modelA.collection.initializeOrderedBulkOp();
const bulkModelB = modelB.collection.initializeUnorderedBulkOp();
for (let messages of message) {
if (!message) throw Error("message vazia");
bulkMesssageReport
.find({
number: message.number,
status: message.status,
})
.upsert()
.replaceOne(message);
bulkMessageMigration
.find({
number: message.number,
status: message.status,
})
.upsert()
.replaceOne(message);
}
return new Promise((resolve, reject) => {
bulkModelB.execute((err) => {
if (err) {
reject(err);
} else {
bulkModelA.execute((err) => {
if (err) {
return reject(err);
}
resolve();
});
};
});
});
} catch (e) {
throw e;
}
}
}
export default new RepositoryInMongo();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment