Refactoring day1

This commit is contained in:
2020-08-20 20:27:14 +02:00
parent 6aceefeb2f
commit b907489a75
481 changed files with 5321 additions and 5616 deletions

View File

@@ -2,34 +2,27 @@
const OperationBase = require('./operation').OperationBase;
const updateDocuments = require('./common_functions').updateDocuments;
const hasAtomicOperators = require('../utils').hasAtomicOperators;
class ReplaceOneOperation extends OperationBase {
constructor(collection, filter, replacement, options) {
constructor(collection, filter, doc, options) {
super(options);
if (hasAtomicOperators(replacement)) {
throw new TypeError('Replacement document must not contain atomic operators');
}
this.collection = collection;
this.filter = filter;
this.replacement = replacement;
this.doc = doc;
}
execute(callback) {
const coll = this.collection;
const filter = this.filter;
const replacement = this.replacement;
const doc = this.doc;
const options = this.options;
// Set single document update
options.multi = false;
// Execute update
updateDocuments(coll, filter, replacement, options, (err, r) =>
replaceCallback(err, r, replacement, callback)
);
updateDocuments(coll, filter, doc, options, (err, r) => replaceCallback(err, r, doc, callback));
}
}