В настоящее время я работаю над этим проектом, используя mongo, express и node, и я совершенно новый в них.У меня есть несколько модулей, содержащих схему Мангуста, хранящихся в переменных.Затем я хочу создать массив объектов, каждый из которых имеет значение, равное имени этой переменной.Как мне получить доступ к значению этих объектов, а затем рассматривать как схему?Поскольку мой текущий код всегда возвращает «TypeError: # не является функцией» в браузере.
Сначала я присваивал каждому значению объект ключа в виде строки, но это не сработало, а затем японял ошибку, которую я сделал, а затем я удалил кавычку, но это также не сработало
// =============== Modules =============
const bbrc = require('./models/backbone_rc_model'),
bbrp = require('./models/backbone_rp_model'),
bbip = require('./models/bbip_model'),
gamas = require('./models/gamas_model'),
gamasFeeder = require('./models/gamas_feeder_model'),
gamasGaul = require('./models/gamas_gaul_model'),
gamasOdcodp = require('./models/gamas_odc_odp_model'),
gamasSekunder = require('./models/gamas_sekunder_model'),
metroRc = require('./models/metro_rc_model'),
metroRp = require('./models/metro_rp_model'),
predictiveMetro = require('./models/predictive_metro_model')
//each of the aboves have their own page showing different tables from
//collections in database
// =====================================
// ============ Tables Object ==========
var tablesObj =
[
{backbone_rc: bbrc},
{backbone_rp: bbrp},
{bb_ip_terra: bbip},
{gamas : gamas},
{gamas_feeder: gamasFeeder},
{gamas_gaul: gamasGaul},
{gamas_odc_odp: gamasOdcodp},
{gamas_sekunder: gamasSekunder},
{metro_rc: metroRc},
{metro_rp: metroRp},
{predictive_metro: predictiveMetro}
]
// =====================================
// 0000000000000 EDIT Content Sub Menu 0000000000000000000
// each of table page has "Edit" button that will render 'edit_content' ejs //file
app.get('/:table/edit', (req, res) => {
var skema = req.params.table
tablesObj.forEach(function(item){
if(skema == (Object.keys(item)).toString()){
skema = Object.values(item)
return skema
}
})
skema.find({}, (err, items) => {
if(err){
console.log('Not found')
}
else{
res.render('edit_content', {items: items})
}
})
})
Я ожидал, что skema.find ({}, (err, item) => {...}) автоматически отображает страницу edit_content каждый раз при нажатии кнопки «Редактировать» на любой странице: таблиц.
Надеюсь, вы сможете решить эту проблему, спасибо