我有一个我在Meteor应用程序中调用的方法,它接受的参数数量可能会有所不同,具体取决于来电的来源:
myFunc: function (attr){
if( typeof attr === 'object' ) {
return Items.update(
{
_id: attr.itemId
},
{
$set: {
field_1: attr.someValue1,
field_2: attr.someValue2
}
},
function (error, result) {});
}
}
在这个例子中," attr.someValue2"可能会或可能不会在传递给此函数的attr对象中,那么构造上述查询的最佳方法是什么?
答案 0 :(得分:0)
您需要为object参数中未提供属性时提供默认值:
myFunc: function (attr){
if( typeof attr === 'object' ) {
return Items.update(
{
_id: attr.itemId
},
{
$set: {
field_1: attr.someValue1 === undefined ? attr.someValue1 : 'N/A',
field_2: attr.someValue2 === undefined ? attr.someValue2 : 'N/A'
}
},
function (error, result) {}
);
}
}