2017-07-25 5 views
0

Je suis en train de faire la conversion de date suivante sur plusieurs collections:mongo shell même commande sur plusieurs collections

db.u201409.find().snapshot().forEach(
    function (e) { 
    e.sta = new Date(e.start); 
    e.sto = new Date(e.stop); 
    db.u201409.save(e); 
    } 
) 

Comme on peut le voir, ce n'est que pour une collection, à savoir « u201409 ». Le format est uYYYYMM. J'ai besoin d'exécuter exactement la même commande pour les collections de 201409 jusqu'en 201604, donc pour u201409, u201410, u201411, u201412, u201501, ..., u201604. Est-ce possible en utilisant un script shell, et si oui, comment cela peut-il être accompli?

Répondre

2

Le langage de commande Shell est Mongo JavaScript, donc juste JavaScript écrire:

var a = ["u201401", "u201402"...] 
for (var i = 0; i < a.length; i++) { 
    db[a[i]].find().snapshot().forEach(
     ... 
    ) 
}