在Meteor应用程序中使用upsert时出现错误。我有一个具有权限的收藏夹...
Parts = new Mongo.Collection('parts');
if (Meteor.isServer) {
Parts.allow({
insert : function () {
return true;
},
update : function () {
return true;
},
remove : function () {
return true;
}
});
}
还有一个upsert方法,用于检查是否已创建带有“ partName”的文档。
Meteor.call( 'partsUpsert', partName, content );
Meteor.methods({
partsUpsert: function (partName, content) {
Parts.upsert(
check(content, Number),
check(partName, String),
{name: partName},
{
$set: {vertices: content}
}
);
}
});
如果尚未创建,则应将新文档插入数据库。但是我一直收到服务器错误
Exception while invoking method 'partsUpsert' Error: Invalid modifier. Modifier must be an object.
我尝试修改代码,但没有任何效果。
最佳答案
检查是方法的一部分,而不是upsert
。尝试这个:
Meteor.methods({
partsUpsert: function (partName, content) {
check(content, Number);
check(partName, String);
return Parts.upsert({name: partName}, {$set: {vertices: content}});
}
});