Go to file
2017-05-11 11:22:47 +03:00
.gitignore starting state 2017-05-03 15:17:25 +03:00
dao.js Add mongo code 2017-05-11 11:22:47 +03:00
executor.js starting state 2017-05-03 15:17:25 +03:00
exercises.js starting state 2017-05-03 15:17:25 +03:00
mongo.js Add mongo code 2017-05-11 11:22:47 +03:00
package.json starting state 2017-05-03 15:17:25 +03:00
README.md Add readme 2017-05-11 10:37:10 +03:00

Promise-id ja MongoDB

Kloonige https://bitbucket.org/mkalmo/i399exmongo repo ja importige see IDE-sse.

  1. Uurige, promise-ite käitumist. Failis executor.js on asünkroone ruutjuure arvutamise meetod ja failis exercises.js on 11 avaldist selle kasutamise kohta. Proovige need ükshaaval läbi kopeerides need faili executor.js ja käivitades. Enne käivitamise proovige kindlasti arvata, milline on väljund.

    Failis oleva koodi käivitamiseks IDEA-st:

    Ctrl + Shift + F10 olles konkreetse faili aknas.

    Kui see on korra tehtud, siis piisab Ctrl + F5 mistahes aknas. Käivitab selle, mis viimasena käivitati.

  2. Looge endale mlab.com konto. Tehke baas nimega i399 ja lisage sellele kasutaja.

  3. Installeerige teegid:

    npm install

  4. Looge ühendus (näide failis mongo.js) ja sisestage mõned andmed. Kontrollige mlab.com lehelt, et andmed jõudsid kohale.

  5. Lugege kollektsioonist kõik andmed ja näidake need konsooli välja. db.collection().find().toArray().then(...

  6. Lugege konkreetse id-ga kirje ja näidake see konsooli välja. db.collection().findOne({ _id: new ObjectID() }).then(...

  7. Pange päringud Dao klassi (näide failis dao.js). Dao kasutamise näide: var dao = new Dao();

    dao.connect(url) .then(() => { return dao.save(... }).then(data => { dao.close(); console.log(data); }).catch(error => { dao.close(); console.log('Error: ' + error) });

  8. Lisage dao-le andmete uuendamise meetod. db.collection().updateOne({ _id: new ObjectID() }, ); Andmete uuendamisel peab stringi kujul oleva id ObjectID tüüpi objektiks konverteerima: var data = { _id: '58d8ef27f4a93f77ac853424' }
    data._id = new ObjectID(data._id);

Lahendused:

(1. ülesande lahendust seal pole ja repo aadress on teine)

https://youtu.be/oJxoMV8iBzU