/
1Rrd0
/
Course
Обзор
Документация
Войти
/
1Rrd0
/
Course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js
33 строки
1 KB
dima
2
13 дек 2025, 10:58
13 дек 2025, 10:58
ce5a48e
Код
Авторство
О чём код?
'use strict'; /** * Set a populated virtual value on a document's `$$populatedVirtuals` value * * @param {*} populatedVirtuals A document's `$$populatedVirtuals` * @param {*} name The virtual name * @param {*} v The result of the populate query * @param {*} options The populate options. This function handles `justOne` and `count` options. * @returns {Array<Document>|Document|Object|Array<Object>} the populated virtual value that was set */ module.exports = function setPopulatedVirtualValue(populatedVirtuals, name, v, options) { if (options.justOne || options.count) { populatedVirtuals[name] = Array.isArray(v) ? v[0] : v; if (typeof populatedVirtuals[name] !== 'object') { populatedVirtuals[name] = options.count ? v : null; } } else { populatedVirtuals[name] = Array.isArray(v) ? v : v == null ? [] : [v]; populatedVirtuals[name] = populatedVirtuals[name].filter(function(doc) { return doc && typeof doc === 'object'; }); } return populatedVirtuals[name]; };