| Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64 Path : /home/livedhms/lmgt/node_modules/mongoose/lib/helpers/update/ |
| Current File : /home/livedhms/lmgt/node_modules/mongoose/lib/helpers/update/decorateUpdateWithVersionKey.js |
'use strict';
/**
* Decorate the update with a version key, if necessary
* @api private
*/
module.exports = function decorateUpdateWithVersionKey(update, options, versionKey) {
if (!versionKey || !options?.upsert) {
return;
}
if (options.overwrite) {
if (!hasKey(update, versionKey)) {
update[versionKey] = 0;
}
} else if (
!hasKey(update, versionKey) &&
!hasKey(update?.$set, versionKey) &&
!hasKey(update?.$inc, versionKey) &&
!hasKey(update?.$setOnInsert, versionKey)
) {
if (!update.$setOnInsert) {
update.$setOnInsert = {};
}
update.$setOnInsert[versionKey] = 0;
}
};
function hasKey(obj, key) {
if (obj == null || typeof obj !== 'object') {
return false;
}
return Object.hasOwn(obj, key);
}