更改架构后无法插入或更新 - Meteor JS + Mongo

时间:2017-08-23 18:07:17

标签: arrays meteor meteor-autoform

我的收集和插入+更新+删除功能正常工作,直到我更改架构以包含upVoters!虽然它们在添加之前工作正常,但这些功能似乎都不起作用。我使用了简单的架构,但我没有收到任何错误。问题在于upVoters的默认值,因为当我评论默认值时,一切都运行顺利。但是,我需要跟踪每个upVoter以允许他们进行一次投票。

有什么想法吗?提前致谢!

import SimpleSchema from 'simpl-schema';
SimpleSchema.extendOptions(['autoform']);

Ideas = new Mongo.Collection('ideas');

Ideas.allow({
    insert: function(userId, doc) {
        return !!userId;
    },
    update: function(userId, doc) {
        return !!userId;
    }
});

IdeaSchema = new SimpleSchema({
    title: {
        type: String,
        label: "Title"
    },
    category: {
        type: String,
        label: "Category"
    },
    owner: {
        type: String,
        label: "Owner",
        autoValue: function() {
            return this.userId
        },
        autoform: {
            type: "hidden"
        }
    },
    createdAt: {
        type: Date,
        label: "Created At",
        autoValue: function() {
            return new Date()
        },
        autoform: {
            type: "hidden"
        }
    },
    upVoters: {
        type: Array,
        label: 'Up Voters',
        defaultValue: [this.userId],
        optional: true,
        autoform: {
            type: "hidden"
        }
    },
    'upVoters.$': {
        type: String
    },
});

Meteor.methods({
    deleteIdea: function(id) {
        Ideas.remove(id);
    }
});

Ideas.attachSchema( IdeaSchema );

2 个答案:

答案 0 :(得分:1)

findBySystems_id("3023f335-5d28-4244-996b-286a5f5c3446", pageable);不是有效的字段类型,您需要一个类型的数组:

Array

答案 1 :(得分:0)

在版本I中,我不能将Array声明为[type] ...但是当我删除defaultValue行时,代码工作了!!!!