# Ενημέρωση και αφαίρεση εγγράφων NoSQL

> Αλλάξτε έγγραφα με update() και where(), διαγράψτε τα με remove() και διαβάστε πόσα επηρεάστηκαν.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: el
Content-SHA256: 19541f27fe48c057eccb1d82952854ce62d60268c97bc774875ec343ce7ab033
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Τα `update(data)` και `remove()` λειτουργούν όπως το `find()`: προσθέστε τις συνθήκες με `.where()` και τελειώστε με `.callback(function(err, count) {})`. Το callback παίρνει τον αριθμό των εγγράφων που άλλαξαν ή αφαιρέθηκαν. **Προσθέτετε πάντα μια συνθήκη**: χωρίς αυτήν η λειτουργία εφαρμόζεται σε κάθε έγγραφο.

Το `update(data)` συγχωνεύει τα πεδία του `data` στα έγγραφα που ταιριάζουν. Χρησιμοποιήστε το `read()` για να πάρετε ένα μεμονωμένο έγγραφο.

```js controllers/tasks.js
exports.install = function() {
	ROUTE('POST /tasks/', create);
	ROUTE('PATCH /tasks/{id}/', done);
	ROUTE('DELETE /tasks/{id}/', remove);
	ROUTE('GET /tasks/{id}/', read);
};

function create($) {
	var task = { id: $.body.id, title: $.body.title, done: false };
	NOSQL('tasks').insert(task).callback(() => $.json(task));
}

function done($) {
	NOSQL('tasks').update({ done: true }).where('id', $.params.id).callback((err, count) => $.json({ updated: count }));
}

function remove($) {
	NOSQL('tasks').remove().where('id', $.params.id).callback((err, count) => $.json({ removed: count }));
}

function read($) {
	NOSQL('tasks').read().where('id', $.params.id).callback((err, response) => $.json(response || { missing: true }));
}
```
