#javascript #node.js #express #mongoose #postman
Вопрос:
Я пытаюсь создать серверную часть простого веб-приложения, используя express, nodejs и MongoDB Atlas. Проблема в том, что я не знаю, как извлечь данные из тела html-страницы и сохранить их в коллекции документов из Atlas. Я пытаюсь сделать это с помощью асинхронной функции, но я очень новичок в javascript.
Такова структура документа Атлас:
{
"_id": {
"$oid": "60f8a9ea7b6e2df245000648"
},
"arrayk": [null],
"ck": [null],
"nk": [null],
"fk": [null],
"Nk": [null],
"Fk": [null],
"nkTotal": {
"$numberDouble": "0.0"
},
"kfTotal": {
"$numberDouble": "0.0"
}
}
Это структура схемы мангуста
var mongoose = require('mongoose')
var Schema = mongoose.Schema
const arrType = [String]
var TableSchema = Schema({
arrayk : arrType,
ck : arrType,
nk : arrType,
fk : arrType,
Nk : arrType,
Fk : arrType,
nkTotal : {
type : null
},
fkTotal : {
type : null
}
});
module.exports = mongoose.model('Table', TableSchema)
Я знаю, что это немного грязно, и именно здесь я застрял. Когда я тестирую это на почтальоне, это просто не работает, я использую массив ключей[0] и одно число в качестве значения.
var Table = require('../models/table')
function home(req, res) {
res.status(200).send({
message: 'Hello World! from controller'
});
}
function saveEntries(req, res) {
var params = req.body
var table = new Table()
for(let i = 0; i <table.arrayk.lenght; i ) {
if (params.arrayk[i]) {
table.arrayk[i] = params
}
}
res.status(200).send({
message: table.arrayk
});
}
module.exports ={
home,
saveEntries,
}
The next piece of code is the for the routes
var express = require('express');
var TableController = require('../controllers/table');
var api = express.Router();
api.get('/home', TableController.home);
api.post('/create-new', TableController.saveEntries);
module.exports = api;