Reactjs 在React web app中使用bcrypt通过无服务器函数散列Mongoose数据库条目
我正在尝试使用Bcrypt将条目散列到我的数据库中。但是,在提交时,不会发生任何事情-条目成功提交,但条目不会散列 此哈希在React web应用程序中,由无服务器函数支持。我的文件的结构是: 我的条目模式:Reactjs 在React web app中使用bcrypt通过无服务器函数散列Mongoose数据库条目,reactjs,mongodb,bcrypt,Reactjs,Mongodb,Bcrypt,我正在尝试使用Bcrypt将条目散列到我的数据库中。但是,在提交时,不会发生任何事情-条目成功提交,但条目不会散列 此哈希在React web应用程序中,由无服务器函数支持。我的文件的结构是: 我的条目模式: const mongoose = require("mongoose"); const Schema = mongoose.Schema; const bcrypt = require("bcrypt"); const SubmitDebtSche
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const bcrypt = require("bcrypt");
const SubmitDebtSchema = new Schema ({
firebaseId: String,
personalLoan: String,
provider: String
SubmitDebtSchema.pre("save", (next) => {
const user = this;
bcrypt.hash(SubmitDebtSchema, 10, (error, hash) => {
user.firebaseId = hash;
user.personalLoan = hash;
user.provider = hash;
next();
});
});
module.exports = mongoose.model('submitdebt', SubmitDebtSchema);
我的“提交”功能:
const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const SubmitDebt = require("./submitDebtSchema");
const bcrypt = require("bcrypt");
require("dotenv").config();
const app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
mongoose.connect(process.env.MONGO_URI);
module.exports = async (req, res) => {
res.statusCode = 200;
res.setHeader("Content-Type", "application/json");
await SubmitDebt.create(req.body)
.then(() => {
res.send(JSON.stringify({ success: true }));
})
.catch((err) => {
console.log(err);
res.send(JSON.stringify({ success: false }));
});
};
我的React前端中的AXIOS post功能:
onSubmit = async (e) => {
e.preventDefault();
await axios.post("/api/submitDebt", {
firebaseId: this.state.firebaseId,
personalLoan: this.state.personalLoanToggled,
provider: this.state.provider
})
this.props.history.push('/dashboard');
}
我不明白为什么这些条目不是散列的——我以前使用过bcrypt,没有任何问题,并且遵循了将散列条目放入数据库的文档(我想)
如果有人有任何建议,那将不胜感激