node.js - 从 nodejs 在 mongdb 中创建集合
问题描述
我正在将模式从模型传递到控制器。我想在 MongoDB 中创建一个集合,作为发布后的特定 JSON 响应。
模型:-
const mongoose = require ('mongoose');
const bcryptt = require('bcryptjs');
const crypto = require('crypto');
var adminSchema = new mongoose.Schema({
companyName : {
type: String,
required: "Company name can't be empty.",
required: false
},
companyID: {
type: String,
unique: true
}
},
email : {
type: String,
required: "Email can't be empty.",
unique: true
},
password: {
type: String,
required: "First name can't be empty."
},
fullName : {
type: String,
required: "First name can't be empty."
}
});
mongoose.model('Admin', adminSchema);
所以在这里我用来在控companyName
制器中创建 compantID :-
module.exports.registerAdmin = (req, res, next) =>{
var admin = new Admin();
admin.companyName = req.body.companyName;
admin.email = req.body.email;
admin.password = req.body.password;
admin.fullName = req.body.fullName;
//comapny id generate
const reqq = crypto.createHash('md5').update(admin.companyName).digest('hex');
let valueNum = reqq.match(/\d/g).join("").toString().substring(0,6);
admin.companyID = valueNum;
console.log(valueNum);
admin.save((err, doc) =>{
if(!err){
res.send(doc);
//todo something here to generate collection from valueNum
}
else{
if (err.code == 11000)
res.status(422).send(["Entered duplicate email address. Please check"]);
else
return next(err);
}
});
}
所以我要companyID
进去了valueNum
。当admin.save
我想传入一些代码来创建现有数据库valueNum
中任何唯一的新集合时。valueNum
如果数据库中已经存在特定valueNum
的集合,则跳过。
这些都将发生在同一个 URL 命中。我得到的回应:-
{
"_id": "5c874d88497ed26f233ffad5",
"companyName": "Meta",
"email": "xyzt@test.com",
"fullName": "Aron",
"companyID": "14624",
}
我怎样才能做到这一点?
解决方案
请参考这篇文章,我认为它可能对您的问题有所帮助。
推荐阅读
- c# - 捕获 Kestrel 启动错误
- google-sheets - Arrayformula 根据另一列的单元格内容提取一列中的最小值
- xamarin - Xamarin 计时器被创建多次
- scala - 如何在单元测试中将配置对象传递给控制器
- python - 如何使用 Python 和 Openpyxl 向我的 Excel 折线图添加高级样式
- android - 解析回调来得很慢并且不能正常工作
- r - Rstudio 未在 Ubuntu 16.04 上运行。[qt.qpa.xcb:无法连接到显示器]
- java - 如何按顺序从数组中选择数据
- javascript - 使用 JavaScript 动态合并表格列中的相邻单元格 - 修复错误
- graphics - 在这种情况下如何计算混合颜色?