我想在代码中的数组位置传递模式详细信息。如何在控制器中执行此操作?
O(n)
在O(2n)
处,我需要传递Schema模型的详细信息,以便可以使用它在代码中创建的集合内创建文档。
编辑:- 架构模块文件。
module.exports.registerAdmin = (req, res, next) =>{
var admin = new Admin();
admin.email = req.body.email;
admin.password = req.body.password;
admin.firstName = req.body.firstName;
admin.lastName = req.body.lastName;
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);
const arrayObj = [{con:'IND'},{con:'USA'},{con:'JPN'}];
admin.save((err, doc) =>{
if(!err){
res.send(doc);
var thingSchema = new mongoose.Schema({}, { strict: false, collection: valueNum });
var Thing = mongoose.model(valueNum , thingSchema);
var thing = new Thing(arrayObj);
thing.save();
console.log(thing);
MongoDB嵌套对象:-
答案 0 :(得分:0)
如果您尝试将admin
文档传递到new Thing()
,则首先尝试获取其doc.schema.obj
或doc.schema.paths
(如果您需要相同的{{ 1}}),然后将所有属性放入一个数组中,创建一个具有键值对的对象,并将其传递给_id
。
new Thing(arrObj)
我注意到您在实例化admin.save((err, doc) =>{
if(err) return err;
res.send(doc);
let arr = Object.keys(doc.schema.obj);
let arrObj = {};
arr.map(key => arrObj[key] = doc[key]);
var thingSchema = new mongoose.Schema({}, { strict: false, collection: valueNum });
var Thing = mongoose.model(valueNum , thingSchema);
var thing = new Thing(arrObj);
thing.save();
console.log(thing);
})
模型之前发送了文档(res.send(doc)
),请确保Thing
仅终止HTTP响应,并且不会阻止您的代码运行,但这您唯一可以发送的回复。您只能发送一个回复。