CouchDB und Node.js - Welches Modul empfehlen Sie? [geschlossen]


79

Mit welchen Modulen stellen Sie in Ihren Node.js-Anwendungen eine Verbindung zu Ihrem CouchDB-Server her? Und warum würden Sie das von Ihnen verwendete Modul empfehlen?

Antworten:


50

Schauen Sie sich Nano an, das eine einfache und minimalistische API für CouchDB oder High-Level-Client- Cradle bietet .


Während ich bei dieser Frage wieder hier bin, habe ich Charlie Robbins von Nodejitsu meine Meinung gegen Kunden mitgeteilt. Er verstand und sagte, Cradle habe viele Funktionen erhalten und sei in der Tat die konzeptionelle Komplexität wert.
JasonSmith

1
Cradle ist seit mehreren Monaten größtenteils inaktiv, nur mit Wartungsupdates vom Nodejitu-Team.
dscape

2
@dscape: Zum Zeitpunkt des Schreibens meiner Antwort war es das beliebteste und aktivste Modul. Sie können es bearbeiten, wenn Sie möchten, und zuerst Ihre Nano-Bibliothek hinzufügen.
Yojimbo87

Ich habe nicht entfernt, sondern die Bearbeitung hinzugefügt. Ich denke, das macht mehr Sinn
dscape

71

Verwenden Sie zu Beginn keine CouchDB-Bibliotheken in NodeJS!

Es gibt mehrere, jedoch weitgehend dünne Schichten, die die HTTP-API umhüllen. Aber Node hat eine sehr starke HTTP-Unterstützung. Es ist kein Problem mehr, einfache HTTP-Abfragen durchzuführen. Es ist einfacher. Es ist weniger fehleranfällig. Wenn CouchDB eine Funktion hinzufügt, müssen Sie nicht auf die Unterstützung der Bibliothek warten. Sie werden CouchDB besser lernen und verstehen. Es lohnt sich zunächst, eine Bibliothek zu meiden.

Ich verwende das integrierte querystringModul und auch die Anforderungsbibliothek von Mikeal Rogers , eine superdünne HTTP-Convenience-Bibliothek.


1
Guter Rat. Ich habe tatsächlich einen JavaScript-Wrapper für CouchDB gemacht :)
cllpse

danke für den modulvorschlag "querystring". Anfrage ist bei weitem die robusteste und einfachste Bibliothek, mit der man arbeiten kann
Tomo

1
Ja, wenn ich anfange, schreibe ich als erstes gerne Code neu, der bereits geschrieben und getestet wurde. Warten Sie, das gefällt mir nicht.
Michael Cole

2
Sarkasmus ist nicht hilfreich. Diese Antwort ist fast vier Jahre alt; Obwohl ich immer noch dazu stehe, weil der Punkt der Antwort ist, dass CouchDB so einfach ist, verwenden Sie eine geschriebene, gut getestete HTTP- Bibliothek anstelle einer CouchDB-Bibliothek. Aber ich benutze und empfehle auch Nano. Es ist ein wunderbares Beispiel für eine leichte Bibliothek, die nützlich ist, ohne sich in die Quere zu kommen.
JasonSmith

Korrekt. Du hast es.
JasonSmith

44

Ich bin der Autor von Nano . Als ich mit CouchDB anfing, tat ich genau das, was Jason Smith empfohlen hatte, die Mikeals-Anforderungsbibliothek zu verwenden. Nano entstand aus der Verwendung dieses Codes in der Produktion und der Erkenntnis, dass ich einige Codes hatte, die verbessert und abstrahiert werden konnten.

Das Endergebnis ist minimalistisch und Sie haben immer noch die Möglichkeit, auf die Anforderungsebene zu wechseln und eine Anforderung auszuführen (was viele Benutzer tun).

Nano wurde vom CouchBase-Team sehr gut angenommen, vor allem, weil es so einfach ist und sich gut in die API einfügt.

Wenn Sie mehr erfahren möchten, lesen Sie diesen Blog-Beitrag: http://writings.nunojob.com/2011/08/nano-minimalistic-couchdb-client-for-nodejs.html


2

Ich habe einen sehr sauberen und einfachen HTTP-API-Wrapper namens geschrieben node-couchdb-api. Es fügt keine Aufblähungsfunktionen wie ein ORM hinzu und folgt den typischen Node.js-Konventionen für Rückrufe und asynchronen Code.


Ich habe einige Probleme damit . Können Sie versuchen, es auf Ihrem Computer zu reproduzieren?
Eric

1
Ich kann mich nicht reproduzieren, aber ich habe vorher noch keinen Nodester verwendet.
Dominic Barnes

Sie können also problemlos eine Verbindung zu meiner Datenbank herstellen, die von Ihrem eigenen Computer aus ausgeführt wird? Danke, dass du nach mir gesucht hast. (habe eine Gegenstimme).
Eric

Ja, ich bekomme die erwartete "Info!" Nachricht am Ende und alles.
Dominic Barnes
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.