为什么我的猫鼬塞特犬出现问题

时间:2019-07-09 20:12:01

标签: javascript node.js mongoose

无法设置属性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);

尝试将具有错误类型的标记值添加到数据库时出现错误。

我希望数组将被转换为字符串,但仍为数组。

能否请您就正确的方法给我建议?

0 个答案:

没有答案