你如何使Meteor方法的一些参数可选?

时间:2016-05-18 15:18:09

标签: meteor

我想写一个方法来更新文档。调用Method的客户端可能不希望通过其参数更新Method公开的所有字段。在Meteor中实现这个的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以为javascript方法添加一些可选参数:

function updateDocument(requiredArg, optionalArg){
  // optionally set the contents of your optional argument to a default
  optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;

  //update your document

}

传递(多个)参数的另一种方法是将它们放在一个对象中:

var myDocument = Documents.find({foo: 'bar'})
var myUpdatedFields = {
  field1: 'test',
  field5: 'option',
  field6: 'etc. etc.'
}

updateDocument(myDocument._id, myUpdatedFields);

这将使用必需参数(文档ID)和一组需要更新的字段调用updateDocument方法。