web-dev-qa-db-fra.com

Utilisation de PouchDB avec MongoDB

Je n'ai jamais utilisé CouchDB. Je veux utiliser PouchDB sur mon application cliente mais je ne sais pas si elle peut être intégrée à MongoDB car Pouch a été conçu pour être utilisé avec CouchDB. Bien que mon API soit écrite en PHP je n'utilise aucune sorte d'API REST comme dans CouchDB pour se connecter à la base de données).

Existe-t-il un équivalent de PouchDB qui peut être utilisé avec MongoDB? Ou est-ce que je vais nulle part?

30
astroanu

Contributeur PouchDB ici. :) C'est en fait une question que nous recevons beaucoup, et c'est compréhensible, étant donné la popularité de MongoDB.

La réponse courte est: non, il n'y a aucun moyen d'obtenir une PouchDB que vous pouvez simplement connecter à votre base de données MongoDB existante. Vous voudrez peut-être essayer Meteor.js à la place.

La réponse longue est que CouchDB et MongoDB ne sont pas équivalents, et en particulier CouchDB est conçu de bas en haut pour être utilisé pour la synchronisation. Il y a n bon article de Jan Lenhardt qui explique comment cela fonctionne. Une partie de la magie de la synchronisation PouchDB/CouchDB vient de cette conception, que Mongo n'a pas.

En fait, même si PouchDB utilisait Mongo comme backend (ce qui n'est pas en dehors du domaine des possibilités; nous supportons déjà Redis et Riak ), vous ne seriez pas en mesure d'utiliser votre base de données existante telle quelle , car PouchDB aurait besoin de reconstruire ce schéma de gestion des révisions sur Mongo. Par conséquent, vous devrez réécrire votre application pour utiliser l'API PouchDB/CouchDB.

Mise à jour: PouchDB supportera bientôt un langage de requête de type Mongo, via le plugin pouchdb-find .

68
nlawson

J'ai vu le projet minimongo . Je ne l'ai pas encore essayé. Pour autant que je comprends, c'est la même chose minimongo utilisé dans le projet météore . La description du projet indique qu'il a une synchronisation de serveur sur http. Mais il n'a pas de persistance, des index.

1
Stanislav