正则表达式验证失败但没有正则表达式导致集合更新流星失败
Collection update Meteor failure from failed regex validation but no regex
我正在使用 Meteor 模式,该模式的字段定义如下:
export const MyCollectionSchema = new SimpleSchema({
myField: {
optional: true,
type: String,
},
...
});
我们还附加了以下行为:
export const MyCollection = new Meteor.Collection('my_collection');
MyCollection.deny({
insert: () => true,
update: () => true,
remove: () => true,
});
MyCollection.attachBehaviour('timestampable', {
createdAt: 'insertedAt',
createdBy: 'insertedBy',
updatedAt: 'modifiedAt',
updatedBy: 'modifiedBy',
});
MyCollection.attachSchema(MyCollectionSchema);
我正在尝试通过此调用更新现有项目:
MyCollection.update(
{ _id: myId },
{ $set: {
myField: myFieldValue,
modifiedAt: new Date().toString(),
modifiedBy: userId,
} },
);
但由于正则表达式验证失败,它一直失败:
(Error: Modified by failed regular expression validation in my_collection update)
我在这里没有使用正则表达式,对流星也不是很熟悉,所以我不确定我是否应该在这里使用正则表达式。帮助:/
如果我阅读了您正在使用的软件包的文档(我假设是这个 https://github.com/zimme/meteor-collection-timestampable),那么整个想法就是您不需要设置 modifiedAt
和 modifiedBy
。这就是 collection-timestamable
包会自动为你做的。该错误可能会发生,因为该包不喜欢您覆盖它的字段。我会尝试:
MyCollection.update({ _id: myId }, {$set: {myField: myFieldValue}});
我正在使用 Meteor 模式,该模式的字段定义如下:
export const MyCollectionSchema = new SimpleSchema({
myField: {
optional: true,
type: String,
},
...
});
我们还附加了以下行为:
export const MyCollection = new Meteor.Collection('my_collection');
MyCollection.deny({
insert: () => true,
update: () => true,
remove: () => true,
});
MyCollection.attachBehaviour('timestampable', {
createdAt: 'insertedAt',
createdBy: 'insertedBy',
updatedAt: 'modifiedAt',
updatedBy: 'modifiedBy',
});
MyCollection.attachSchema(MyCollectionSchema);
我正在尝试通过此调用更新现有项目:
MyCollection.update(
{ _id: myId },
{ $set: {
myField: myFieldValue,
modifiedAt: new Date().toString(),
modifiedBy: userId,
} },
);
但由于正则表达式验证失败,它一直失败:
(Error: Modified by failed regular expression validation in my_collection update)
我在这里没有使用正则表达式,对流星也不是很熟悉,所以我不确定我是否应该在这里使用正则表达式。帮助:/
如果我阅读了您正在使用的软件包的文档(我假设是这个 https://github.com/zimme/meteor-collection-timestampable),那么整个想法就是您不需要设置 modifiedAt
和 modifiedBy
。这就是 collection-timestamable
包会自动为你做的。该错误可能会发生,因为该包不喜欢您覆盖它的字段。我会尝试:
MyCollection.update({ _id: myId }, {$set: {myField: myFieldValue}});