Database Reference
In-Depth Information
ges-Feed und gibt Änderungs-Events aus, sobald CouchDB geänderte Doku-
mente meldet. Wir beginnen mit dem groben Entwurf unseres Treibers und
reden über seine wichtigsten Punkte. Danach fügen wir die Feed-spezifischen
Details hinzu.
Hier also der Entwurf unseres Watcher-Programms und eine kurzen Erklä-
rung, was er macht:
couchdb/watch_changes_skeleton.js
var
http = require( 'http' ),
events = require( 'events' );
/ **
* Erzeuge CouchDB-Watcher basierend auf Verbindungskriterien;
* folgt node.js EventEmitter-Muster und emittiert 'change'-Events.
* /
exports.createWatcher = function (options) {
{
|
var watcher = new events.EventEmitter();
watcher.host = options.host || 'localhost' ;
watcher.port = options.port || 5984;
watcher.last _ seq = options.last _ seq || 0;
watcher.db = options.db || ' _ users' ;
}
watcher.start = function () {
// ... feed-spezifische Implementation ...
};
return watcher;
};
// CouchDB-Überwachung starten, wenn Hauptskript
~
if (!module.parent) {
exports.createWatcher({
db: process.argv[2],
last _ seq: process.argv[3]
})
.on( 'change' , console.log)
.on( 'error' , console.error)
.start();
}
{ exports ist ein Standard-Objekt, das von der CommonJS-Modul-API be-
reitgestellt wird, die Node.js implementiert. Das Hinzufügen der
createWatcher() -Methode zu exports macht sie für andere Node.js-Skrip-
ten verfügbar, die sie als Bibliothek nutzen wollen. Mit dem options -Ar-
gument kann der Aufrufer festlegen, welche Datenbank überwacht wer-
den soll, und er kann weitere Verbindungseinstellungen überschreiben.
 
Search WWH ::




Custom Search