将数组添加到MongoDB / Mongoose集合时出错
我想添加一个数组到一个Mongo文档,并且我得到了错误"Cast to Array failed for value "[object Object],[object Object]" at path "vendors""
这是我的模型:
module.exports = { attributes: { vendors: { type: [String] }, description: { type: String } } };
这是我的代码来创build:
var vendors = ko.observableArray(['foo','bar']); var desc = ko.observable('yadda yadda yadda'); var dto = { data: { vendors: vendors(), description: description() } }; DataService.quoteRequest.create(dto);
音乐岸边,
我不熟悉knockout.js,但是对于Mongoose而言,它看起来不像是在定义Schema
和Model
。 您将需要执行以下操作:
定义模式
var mongoose = require('mongoose'), Schema = mongoose.Schema; var attributesSchema = new Schema({ vendors: [String], description: String });
创build一个模型
var Attributes = mongoose.model('Attribute',attributesSchema);
创build并保存文档
//create an attribute document var attribute = new Attributes( { vendors: vendorsArray, description: desc } ); attribute.save(function(err){ if(!err) console.log('Success'); }