2016-05-18 4 views
1

Я хочу написать метод для обновления документа. Клиент, вызывающий метод, может не захотеть обновлять все поля, открытые методом, через его параметры. Каков правильный способ реализации этого в Метеор?Как вы можете сделать некоторые параметры Meteor Methods дополнительными?

+4

Почему это может отличаться от необязательных параметров в любой другой функции javascript? –

+0

Спасибо. Это ответило на мой вопрос. –

+0

Возможный дубликат [Установить значение параметра по умолчанию для функции JavaScript] (http://stackoverflow.com/questions/894860/set-a-default-parameter-value-for-a-javascript-function) –

ответ

1

Вы можете добавить некоторые дополнительные аргументы для яваскрипта метода:

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); 

Это вызывает updateDocument метод с требуемым аргументом (идентификатор документа) и набор полей, которые необходимо обновить.

Смежные вопросы