Interacting with RethinkDB
Now that we've written both the router and the controller, it's time to turn back to RethinkDB and write the code that physically saves and loads data from the database. In the previous section, you learned how different functions in the controller call different functions in the model, so what we need to do now is implement these functions in the models/rethinkdb.js
file.
As an example, let's focus on the function that creates a new note and saves it to the database: the user first creates the note from the app in his browser, then the browser performs an HTTP request that is received from the Node.js server and passed on to the router. At this point, the router handles the request and passes the data to the controller, which, in turn, extracts the data and calls the appropriate function in the model. In this case, the function to save a note in the model is called saveNote()
and is implemented as this:
model.saveNote = function (note, done) { r.connect({ host...