2011-08-25 5 views
0

Existe-t-il un moyen d'utiliser un type de données entier long dans le shell Mongo?NumberLong dans Mongo shell

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 

Répondre

0

Oui, cela devrait fonctionner correctement. Les erreurs que vous voyez sont méchantes, je ne peux pas les reproduire. Quelle version utilisez-vous? Dans 1.8.1, je ne peux pas reproduire l'erreur «NumberLong n'est pas un constructeur».

Les œuvres suivantes pour moi:

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

J'utilise Mongo 1.4.4, donc je vais essayer de le mettre à jour. –

Questions connexes