2011-08-25 86 views
0

有什麼辦法在Mongo shell中使用長整型數據類型?Mongo shell中的NumberLong

db.users_stats.find().forEach(function(row) { 
    var newRow = row; 
    newRow.user_id = new NumberLong(row.user_id); 
    newRow.date = new Date(row.date); 
    printjson(newRow); 
}); 

JS Error: TypeError: NumberLong is not a constructor mongoConvert.js:3 



db.users_stats.find().forEach(function(row) { 
    var newRow = row; 
    newRow.app_id = NumberLong(row.user_id); 
    newRow.date = new Date(row.date); 
    printjson(newRow); 
}); 

JS Error: TypeError: NumberLong is not a function mongoConvert.js:3 

回答

0

是的,它應該可以正常工作。你看到的錯誤是邪惡的,我無法重現它們。你正在使用哪個版本?在1.8.1中,我無法重現「NumberLong不是構造函數」錯誤。

對我來說,以下工作:

db.Test.find().forEach(function(row) { 
    var newRow = row; 
    if(typeof row.myId == 'number') 
     newRow.user_id = new NumberLong(row.myId); 
    else if(row.myId instanceof NumberLong) 
     newRow.user_id = row.myId; 
    printjson(newRow); 
}); 
+0

我使用蒙戈1.4.4,所以我會盡力對其進行更新。 –