Я не могу сохранить данные в приложении MEAN Stack базы данных Mongodb - PullRequest
1 голос
/ 15 мая 2019

поэтому, когда я создал коллекцию для пользователя LOGIN / LOGOUT, она работала совершенно нормально, я смог получить пользовательские данные в и из базы данных с помощью приложения Express, mongoose и, но когда я попытался создать другую коллекцию, он создал коллекцию но не сохраняет данные в MongoDB

это компонент для сохранения моих данных

 @Component({
 selector: 'app-save-cv',
 templateUrl: './save-cv.component.html',
 styleUrls: ['./save-cv.component.css']
              })
export class SaveCvComponent implements OnInit {

form:FormGroup = new FormGroup({
nom:new FormControl(null, Validators.required),
prenom:new FormControl(null, Validators.required),
adresse:new FormControl(null, Validators.required)
})
constructor(private _router:Router, private _cvService:CvService) { }

  save(){
    if(!this.form.valid ){
   console.log('Invalid Form'); return;
  }
 console.log(JSON.stringify(this.form.value));

this._cvService.save(JSON.stringify(this.form.value))
.subscribe(
  data=> {console.log(data); this._router.navigate(['/register']);},
  error=>console.error(error)
  )
 }

 ngOnInit() {
  }

}

Это служба, которую я использовал для подключения к моему серверу скриптов JAVA APP.js

import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';

@Injectable()
export class CvService {

  constructor(private _http:HttpClient) { }

  save(body:any){
    return this._http.post('http://127.0.0.1:3000/cvs/save',body,{
      observe:'body',
      withCredentials:true,
      headers:new HttpHeaders().append('Content-Type','application/json')
    });}}

это маршрут, который я использовал

var express = require('express');
var router = express.Router();
var Cv = require('../models/cv');
var passport = require('passport');

router.post('/save', function (req, res, next) {
 addToDB(req, res);
  });

  async function addToDB(req, res)  {

  var cv = new Cv({
   Nom : req.body.Nom,
   Prenom: req.body.Prenom,
   Adresse:req.body.Adresse

   });

try {
  doc = await cv.save();
  return res.status(201).json(doc);
 }
 catch (err) {
   return res.status(501).json(err);
 }

} module.exports = router;

это моя схема

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var schema = new Schema({
Nom : {type:String, require:true},
Prenom: {type:String, require:true},
Adresse:{type:String, require:true}

  });



  module.exports = mongoose.model('Cv',schema);

Я ожидал, что данные будут сохранены в базе данных, но я получил только

 {_id: "5cdc472b8115fb260409dffe", __v: 0}
  __v: 0
  _id: "5cdc472b8115fb260409dffe"
  __proto__: Object}

1 Ответ

0 голосов
/ 15 мая 2019

В вашем вызове сохранения может быть ошибка.Посмотрите, можете ли вы попытаться отловить ошибку, изменив

doc = await cv.save();

на

cv.save(function(err){
  if(err){
       console.log(err);
       return;
  }

 etc

});

Таким образом, вы можете увидеть, если save ()выдает ошибку

...