ForgeTotal.js 5
it

Total.js 5

Usare l'API DATA per cambiare database

Total.js 5 · total5@0.0.19 databasenosqlquerybuilder Eseguita con Total.js 5

DATA è un punto di accesso al query builder indipendente dal database. Il primo argomento è driver/table; nosql/people significa "il database NoSQL integrato, tabella people". I metodi del builder (where, sort, take, callback) sono gli stessi di NOSQL(), quindi il codice delle tue azioni resta invariato se in seguito sostituisci il driver.

ChiamataFa
DATA.insert(table, doc)inserisce un documento
DATA.find(table)restituisce un builder per un elenco
DATA.read(table)restituisce un builder per un documento
DATA.update(table, data)aggiorna documenti
DATA.remove(table)rimuove documenti
definitions/people.js
NEWACTION('People/insert', {
	name: 'Insert a person',
	input: '*name:String, age:Number',
	action: function($, model) {
		model.id = UID();
		DATA.insert('nosql/people', model).callback(() => $.success(model.id));
	}
});

NEWACTION('People/query', {
	name: 'List people',
	query: 'sort:Lowercase',
	action: function($) {
		DATA.find('nosql/people').sort($.query.sort || 'name_asc').callback((err, response) => $.callback(response));
	}
});

NEWACTION('People/rename', {
	name: 'Rename a person',
	params: '*id:UID',
	input: '*name:String',
	action: function($, model) {
		DATA.update('nosql/people', { name: model.name }).where('id', $.params.id).callback((err, count) => $.success(count));
	}
});
controllers/people.js
exports.install = function() {
	ROUTE('POST /people/ --> *People/insert');
	ROUTE('GET /people/ --> *People/query');
	ROUTE('PATCH /people/{id}/ --> *People/rename');
};