这是My Model,我正在尝试将数据保存在Model的Tools数组中。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var toolSchema = new Schema({
name: {type: String},
tools: [{
jira: {
url: {type: String},
userName: {type: String},
passWord: {type: String},
status: {type: Boolean, default: false}
},
test1: {
token: {type: String},
uri: {type: String}
},
test2: {
uri: {type: String}
},
test3: {
uri: {type: String}
}
}]
});
module.exports = mongoose.model('Tool', toolSchema);
以下是我保存数据的代码
var Tools = require("../models/tool");
exports.create = function (req, res) {
var toolArr = req.body.tools;
console.log(toolArr);
var apps = new Tools();
toolArr.forEach(function (item, index) {
if (item.jira) {
console.log(item.jira.userName);
apps.tools.jira.userName = item.jira.userName;
apps.save(function (err, result) {
if (err) {
console.log('Error in saving the Devops: ' + err);
throw err;
}
else {
console.log(result);
res.send(result);
}
});
}
})
};
我无法在mongodb中保存数据我正在获取错误,任何人都可以帮助我。 我正在使用邮递员这样发送数据。
tools[0][jira][userName]:Developer
答案 0 :(得分:0)
根据您的架构找到错误 - > apps.tools.jira.userName = ...
,tools
是一个数组,但没有.jira
。您可能想要apps.tools[index].jira.userName = ...
。另外,我建议不要在apps.save()
内运行.forEach()
,因为这会对您的数据库进行多次写入,但我不知道您的确切用例。
答案 1 :(得分:0)
如果req.body.tools
包含对象数组,例如架构格式
var apps = new Tools();
apps.tools = req.body.tools;
apps.save(function(err,result){
if (err) {
console.log('Error in saving the Devops: ' + err);
throw err;
} else {
res.send(result);
}
});
答案 2 :(得分:0)
从邮递员发送数据的示例
var Tools = require("../models/tool");
var apps = new Tools();
var data=req.body /* assuming it as a post request and data is send in body */
apps(data).save(function(err,result){
if(err){
throw err;
}else {
res.send(result);
}
});
然后按此代码保存您的数据
DecisionTreeClassifier