【发布时间】:2016-12-11 12:33:56
【问题描述】:
我是 Web 开发的新手,但遇到了一个我无法解决的问题。到目前为止,我从MEAN-Stack 开始,遇到了以下问题。
我的 Angular js 控制器中有一个滑块的数组结构。从这个数组结构中,我尝试将一些值保存到我的数据库中。
Angular JS 控制器 sn-p
$scope.alerts = [
{ id: 1,
title: 'CustomerCount',
value: 1,
weight: 30,
options: {
showTicks: true,
hidePointerLabels: true,
hideLimitLabels: true,
stepsArray: [
{ value: 1, legend: '<10' },
{ value: 2, legend: '<50' },
{ value: 3, legend: '<250' },
{ value: 4, legend: '<500' },
{ value: 5, legend: '>500' }
]
}
},
{ id: 2,
title: 'CustomerSatisfaction',
value: 3,
weight: 40,
options: {
showTicks: true,
hidePointerLabels: true,
hideLimitLabels: true,
stepsArray: [
{ value: 1, legend: '<10' },
{ value: 2, legend: '<50' },
{ value: 3, legend: '<250' },
{ value: 4, legend: '<500' },
{ value: 5, legend: '>500' }
]
}
}
];
从上面的sn-p,我想在alerts中保存每个alert的title、value和weight
为此,我在同一个 Angular js 控制器中使用了以下 sn-p
// Create new Article object
var article = new Articles({
title: this.title,
alert: this.alert,
});
据我了解,这个 sn-p 是否使用 server.model.js 文件中定义的以下架构在我的数据库中创建一个新的文章条目
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Article Schema
*/
var ArticleSchema = new Schema({
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
},
alert: [{ value: Number, weight: Number, title: String }]
});
mongoose.model('Article', ArticleSchema);
但我现在的问题是这只会在 MongoDB 中保存一个空数组。
下面提出的解决方案导致了解决方案。需要注意的是
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Article Schema
*/
var ArticleSchema = new Schema({
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
},
alerts: []
});
// Create new Article object
var article = new Articles({
title: this.title,
alerts: this.alerts,
});
提供了想要的解决方案!
【问题讨论】:
-
你在哪里调用模型上的
save()方法,即article.save()? -
我的 article.server.controller.js 文件中有这个,我没有在这里列出,但它看起来像下面提供的一个 codeGig
标签: javascript angularjs mongodb mean-stack meanjs