MEAN栈应用程序中的错误请求试图附加到模式中的数组

我正在尝试将一系列利率传递给由帐户组成的mongoose模式。 我想存储在特定date更改的利率。

但是,当我触发创build函数我的开发工具告诉我,我做了一些不好的事情:

**400 Bad Request** 

我一直在使用这个作为模板。

观点:已经断开,所以我只通过:

 var interest = { rate: 1, date: Date.now() }; 

执行更新的控制器:

 // Create new Account $scope.create = function() { // Create new Account object var account = new Accounts ({ name: this.name, desc: this.desc, interests: [] }); // PROBLEMATIC PART // Store interest: var interest = { rate: 1, date: Date.now() }; account.interests.push(interest); // PROBLEMATIC PART END // Redirect after save account.$save(function(response) { $location.path('accounts/' + response._id); // Clear form fields $scope.name = ''; }, function(errorResponse) { $scope.error = errorResponse.data.message; }); }; 

mongoose模式:

 'use strict'; /** * Module dependencies. */ var mongoose = require('mongoose'), Schema = mongoose.Schema; /** * * Interest Rate Schema */ var InterestRate = new Schema({ rate:{ type: Number, default: 0, trim: true }, date:{ type : Date, default: '', required: 'When is the interest to be updated', trim: true } }); /** * Account Schema */ var AccountSchema = new Schema({ name: { type: String, default: '', required: 'Please fill Account name', trim: true }, desc:{ type: String, default: '', trim: true }, interests: [{ type : Schema.Types.ObjectId, ref: 'InterestRate' }], amount:{ type: Number, default:0, trim: true }, created: { type: Date, default: Date.now }, user: { type: Schema.ObjectId, ref: 'User' } }); mongoose.model('Account', AccountSchema); 

您可以尝试将利率作为叶结束结构,而不是在模型中进行定义,然后在账户模式中设置interest作为[]的types,只需将对象

 var AccountSchema = new Schema({ name: { type: String, default: '', required: 'Please fill Account name', trim: true }, desc:{ type: String, default: '', trim: true }, interests: type:[], default:[] }, created: { type: Date, default: Date.now }, user: { type: Schema.ObjectId, ref: 'User' } 

});

像这样