我正在尝试为公司库存,在保存项目之前,我想使用 bcrypt 对项目 _id 进行哈希处理(所以我从不公开该项目id本身),然后将其转换为base64上的 QR代码,并将其保存到数据库中的字符串中。
我已经做到了所有这些,但是当将项目保存在数据库中时,我要操作的字段没有使用base64 png填充。
(这是我第一次在StackOverflow上提问,关于问题格式本身的任何反馈都将收到。只需几个月的编程时间。)
ItemSchema.pre("save", function (next) {
let item = this;
let hashed_id = bcrypt.hashSync(String(item._id), saltRounds);
QRCode.toDataURL(hashed_id, (err, url) => {
png_stirng_image = String(url)
item.qr_code = png_stirng_image
})
next();
});
const newItem = new Item({
name: "Objeto uno",
brand: "Maquintosh",
category: "COMPUTADORA",
date_bought: "2013-06-01",
serial_number:"VADFFVWER",
current_owner: "USER ID",
qr_code: ""
});
return newItem.save()
.then(result =>{
console.log("created")
mongoose.connection.close()
})
.catch(error => {
console.log(error);
mongoose.connection.close()
throw error;
});