无法设置属性String
的设置器。我有一个属性标签,它以数组形式出现,所以我用setter将其转换为String
以将其添加到数据库中。
我尝试了方法集和方法SchemaType.prototype.set()
//Models by mongoose
let mongoose = require('mongoose');
let Schema = mongoose.Schema;
//Создание схемы данных
let TaskSchema = new Schema({
id: {
type: String,
required: false
},
name: {
type: String,
required: true
},
category: {
type: String,
required: true
},
tag: {
type: String,
required: false,
set: function (arr) {
var str = arr.join(',');
return str;
},
get: function (str) {
console.log(str);
var asd = str.split(',');
return str;
}
},
description: {
type: String,
required: true
},
dateOfTask: {
type: Date,
required: true
}
}, {
collection: 'tasks'
});
TaskSchema.path('tag').set(function (v) {
console.log(v);
return v.join(',');
});
TaskSchema.path('tag').get(function (v) {
console.log(v);
return v.split(',');
});
// Create collection and add schema
var Task = mongoose.model('Task', TaskSchema);
尝试将具有错误类型的标记值添加到数据库时出现错误。
我希望数组将被转换为字符串,但仍为数组。
能否请您就正确的方法给我建议?