我有一个Meteor方法,我希望传递星期值:
Meteor.methods({
'insertShift': function(dow, shiftnum, . . .) {
check(dow, Number);
check(shiftnum, Number);
. . .
Shifts.insert({
sh_dow: dow,
sh_shiftnum: shiftnum,
. . .
sh_createdBy: this.userId
});
},
. . .
而不是存储字符串字段,例如" Mon"或者"周二"在MongoDB文档中,我想存储一个int(其中1 =星期一,2 =星期二等),所以调用将是这样的:
Meteor.call('insertShift', 1, 1, . . .) { . . .
...如果我在星期一插入班次1的值。
但是,我不确定这样做的Meteorific方式。我应该在我的两个\ consts.js文件中添加这样的内容:const int Monday = 1;
const int Tuesday = 2;
const int Wednesday = 3;
const int Thursday = 4;
const int Friday = 5;
const int Saturday = 6;
const int Sunday = 7;
...然后调用这样的方法:
Meteor.call('insertShift', Monday, 1, . . .) { . . .
?或者是什么/如何?
答案 0 :(得分:3)
我建议使用与日期getDay相同的编码:星期日= 0,星期一= 1,等等。
以下是包含dayString
函数进行翻译的班次的model示例:
var DAYS = []
DAYS[0] = 'Sunday';
DAYS[1] = 'Monday';
DAYS[2] = 'Tuesday';
DAYS[3] = 'Wednesday';
DAYS[4] = 'Thursday';
DAYS[5] = 'Friday';
DAYS[6] = 'Saturday';
// Shift model
Shift = function(doc) {
_.extend(this, doc);
};
_.extend(Shift.prototype, {
// returns a string like 'Monday'
dayString: function() {
return DAYS[this.dow];
}
});
// Shifts collection
Shifts = new Mongo.Collection('shifts', {
transform: function(doc) {
return new Shift(doc);
}
});
现在,您可以这样做:
var shift = Shifts.findOne();
console.log(shift.dayString());