我試圖更新「地圖」欄,但這樣做導致錯誤的嘗試:如何卡桑德拉其主要更新收集郵戳型
錯誤:
error: database errorTypeError: Not a valid bigint, expected Long/Number/Buffer, obtained '2014-12-07T13:53:10.658Z'
嘗試
var query_attendance = 'UPDATE emp_attendance SET attendace = attendace + ? where year = ? and month = ? and emp_id = ?';
var udpateAttendance = function(empId, timestampMillis, cb){
var foundDate = new Date(timestampMillis);
var year = foundDate.getUTCFullYear();
var month = foundDate.getUTCMonth();
var date = foundDate.getUTCDate();
var attendace = {};
attendace['2014-12-07T13:53:10.658Z'] = 'Present';
// winston.info('attendace' + JSON.stringify(foundDate));
var values = [attendace, year, month, empId];
var options = {
hints: ['map','int','int','int'],
prepare: true
};
winston.info('Values: ' + JSON.stringify(values));
client.execute(query_attendance, values, options, function(err, resultSet){
winston.info('Query Completed');
if(err){
winston.error('database error' + err);
cb(err, null);
return;
}
winston.info('Query successful');
cb(null, resultSet);
});
}
筆者認爲:
我想我需要告訴驅動程序,地圖集合中的鍵類型是時間戳類型,但我沒有找到如何指定這樣的輸入驅動程序。
這是不可能的,是的,我已經創建了一個[吉拉票呢](https://datastax-oss.atlassian.net/browse/NODEJS-57) – jorgebg 2014-12-09 09:28:03
只是爲了讓我的工作按時完成,是我解決問題的正確方法,否則會影響其他查詢或API中的過程 – guptakvgaurav 2014-12-09 09:33:19
解決方案是正確的,它不應該影響你的應用程序的其他部分。 – jorgebg 2014-12-09 13:26:54