Я следую этому руководству , чтобы настроить простое приложение Angular 6 / ExpressJS / mongoDb.Мне пришлось внести некоторые изменения на стороне ExpressJS, потому что я хотел запустить Angular в среде разработки.
Моя проблема в том, что когда я сохраняю книгу из своего приложения, «что-то» происходит.Новая запись вставлена в mongoDb.Это журнал консоли:
{
author: "4"
description: "4",
isbn: "4",
published_year: "4",
publisher: "4",
title: "4",
}
Из функции formSubmit:
onFormSubmit(form:NgForm) {
console.log(form);
this.api.postBook(form)
.subscribe(res => {
let id = res['_id'];
this.router.navigate(['/book-details', id]);
}, (err) => {
console.log(err);
});
}
Это также передается в функцию postBook
в службе API.
Похоже, что данные правильно вставляются в форму и передаются в ExpressJS.
Когда я запускаю curl -i -H "Accept: application/json" localhost:3000/api
Я получаю результаты обратно:
[
{"_id":"5b0e4f1dc547e5164c08acab","updated_date":"2018-05-30T07:13:33.050Z","__v":0},
{"_id":"5b0e4fe74d3d0b15f44ed717","updated_date":"2018-05-30T07:16:55.392Z","__v":0},
{"_id":"5b0e52c0b0710433b0986864","updated_date":"2018-05-30T07:29:04.551Z","__v":0},
{"_id":"5b0e5356b0710433b0986865","updated_date":"2018-05-30T07:31:34.290Z","__v":0}
]
Но, как вы можете видеть, данные из внешнего интерфейса не сохраняются в базе данных.
Это моя модель Book.js:
const express = require('express')
const app = express()
const mongoose = require('mongoose');
const apiRouter = require('./routes/book');
const logger = require('morgan');
mongoose.connect('mongodb://localhost/movieseat', { promiseLibrary: require('bluebird') })
.then(() => console.log('connection successful'))
.catch((err) => console.error(err));
app.use(logger('dev'));
app.use(express.json());
app.use('/api', apiRouter);
app.use(express.urlencoded({ extended: false }));
app.listen(3000, () => console.log('Example app listening on port 3000!'))
module.exports = app;
Похоже, у ExpressJS возникла проблема со сбором / хранением данных из внешнего интерфейса.Любые идеи о том, почему это или как это исправить?