【发布时间】:2018-10-28 19:49:53
【问题描述】:
这是我的平均代码。
const express = require('express');
const router = express.Router();
const passport = require('passport');
const jet = require('jsonwebtoken');
const Contact = require('../models/contacts');
// retrieving Data
router.get('/contacts',(req,res,next)=>{
// res.send('Retriving the contact list');
console.log('contacts page');
Contact.find(function(err, contacts){
res.json(contacts);
})
});
// to add the content
router.post('/contact',(req, res, next)=>{
// logic to add contact
let newContact = new Contact({
first_name: req.body.first_name,
last_name: req.body.last_name,
email_id: req.body.email_id,
password: req.body.password
});
Contact.addRegistry((err, contacts)=> {
if(err) {
res.json({msg:'faild to add register'});
}
else{
res.json({msg:'registry added sucessfully'});
}
});
});
// to delete the content
router.delete('/contact/:id',(req, res, next) =>{
// logic to delete contact
Contact.remove({_id:req.params.id}, function(err, result){
if(err){
res.json(err);
}
else {
res.json(result);
}
});
})
module.exports = router;
上面的文件是route.js。 以下代码来自contact.js
// Database code.
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
// database schaema
var ContactSchema = new mongoose.Schema({
first_name: String,
last_name: String,
id: String,
location: String,
profile_picture_url: String,
email_id: String,
phone: String,
job_title: String,
company: String,
education: String,
password: String,
savedjobslist: {
title: [],
subtitle: []
},
appliedjobslist: {
title: [],
subtitle: []
},
failedjobslist: {
title: [],
subtitle: []
}
});
const Contact = module.exports = mongoose.model('Contact', ContactSchema);
module.exports.getUserById = function(id,callback) {
Contact.findById(id,callback);
}
module.exports.getUserById = function(username,callback) {
const query = {username: username}
Contact.findOne(query,callback);
}
module.exports.addRegistry = function(newContact,callback) {
bcrypt.genSalt(10, (err,salt) => {
bcrypt.hash(newContact,salt, (err,hash) => {
if (err) {
console.log(err);
}
newContact.password = hash;
newContact.save(callback);
});
});
}
我正在尝试从邮递员那里发布数据,它正在显示错误
并在命令提示符中显示错误为
服务器在端口 3000 开始,连接到 27017 的 mongos 数据库 错误:非法参数:函数、字符串 在 _async (D:\project-1\back-end\node_modules\bcryptjs\dist\bcrypt.js:214:46 ) 在 Object.bcrypt.hash (D:\project-1\back-end\node_modules\bcryptjs\dist\bcry pt.js:220:13) 在 bcrypt.genSalt (D:\project-1\back-end\models\contacts.js:49:16) 在 Immediate._onImmediate (D:\project-1\back-end\node_modules\bcryptjs\dist\ bcrypt.js:153:21) 在 runCallback (timers.js:794:20) 在 tryOnImmediate (timers.js:752:5) 在 processImmediate [as _immediateCallback] (timers.js:729:5) D:\project-1\back-end\models\contacts.js:54 newContact.save(回调); ^
TypeError: newContact.save 不是函数 在 bcrypt.hash (D:\project-1\back-end\models\contacts.js:54:23) 在 runCallback (timers.js:794:20) 在 tryOnImmediate (timers.js:752:5) 在 processImmediate [as _immediateCallback] (timers.js:729:5) [nodemon] 应用程序崩溃 - 在启动前等待文件更改...
newContact.save(回调); ^ TypeError:newContact.save 不是函数。 我不知道为什么会出现这个错误。
【问题讨论】:
标签: javascript node.js mean-stack postman