javascript - 我无法将数据保存到 Mongodb 数据库 MEAN Stack 应用程序
问题描述
所以当我为用户 LOGIN/LOGOUT 创建一个集合时,它工作得非常好t 将数据保存到 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 = 路由器;
这是我的架构
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}
解决方案
您的保存调用中可能存在错误。看看您是否可以尝试通过更改来捕获错误
doc = await cv.save();
至
cv.save(function(err){
if(err){
console.log(err);
return;
}
etc
});
这样你就可以看到 save() 是否抛出错误
推荐阅读
- azure - 加密密钥值时出错 - 操作返回无效状态代码“BadRequest”
- reactjs - if condition is not working in error response
- php - PHP/MySQL,让我返回注册表单
- django - 提供“ManyRelatedManager”对象的列表字段序列化程序不是 M2M 字段的可迭代错误
- php - 让我的 app.yaml PHP 配置在 Google App Engine 中工作
- javascript - 在 HTML 视频标签中流式传输实时视频通量
- autohotkey - 中间加粗时如何对齐文本?
- javascript - fullcalendar.js 从 json 输入中显示两次日期
- graphql - AWS AppSync:将参数从父解析器传递给子解析器
- angular - Angular 材料 2 拖放方向双向