我正在尝试将数组添加到 Mongo 文档,但收到错误“在路径“供应商”处,值“[object Object],[object Object]”的值转换为数组失败”
这是我的模型:
module.exports = {
attributes: {
vendors: {
type: [String]
},
description: {
type: String
}
}
};
这是我要创建的代码:
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
});
创建模型
var Attributes = mongoose.model('Attribute',attributesSchema);
创建并保存文档
//create an attribute document
var attribute = new Attributes(
{
vendors: vendorsArray,
description: desc
}
);
attribute.save(function(err){
if(!err) console.log('Success');
}
关于arrays - 将数组添加到 MongoDB/Mongoose 集合时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903413/