Да, должно работать нормально.Ошибки, которые вы видите, злы, я не могу их воспроизвести.Какую версию вы используете?В 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);
});