Moyen facile de stocker JSON sous Node.js
Je suis à la recherche d'un super-simple façon de stocker une JSON tableau de façon persistante sous Node.js. Il n'a pas besoin d'avoir des traits particuliers. Je veux juste mettre un objet JSON là-bas et être en mesure de le lire au prochain redémarrage du serveur.
(Solutions comme MongoDB et CouchDB à la fois sembler excessif pour ce but.)
- Il n'y a pas une telle chose comme un "objet JSON". Soit vous avez un objet (ici: Javascript object), ou vous avez JSON qui est une chaîne de caractères. Vous pouvez enregistrer cette chaîne dans la façon normale de fichiers, de bases de données...
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas écrire dans un fichier?
Essayer NeDB: https://github.com/louischatriot/nedb
"Embedded persistantes aux bases de données pour Node.js, écrit en Javascript, avec aucune dépendance (à l'exception de mnp modules de cours). Vous pouvez penser que c'est un SQLite pour Node.js les projets, qui peut être utilisé avec un simple besoin de déclaration. L'API est un sous-ensemble de de MongoDB. Vous pouvez l'utiliser comme une persistante ou en mémoire une seule banque de données."
J'ai trouvé une bibliothèque nommée json-fs-store de sérialiser l'objet JavaScript JSON dans un fichier et le récupérer plus tard.
Lors de la récupération d'un fichier via le
store.load
méthode (pas décrite dans les docs pour le moment), il est analysé avecJSON.parse
ce qui est mieux que de faire unrequire
comme dans l'autre réponse:Si vous êtes à la recherche de performance à considérer: LokiJS
https://www.npmjs.com/package/lokijs
http://lokijs.org/#/
Si vous avez besoin de simple stockage de données, avec pas de processus externe, très élevé et des performances stables, vous pouvez Fusée magasin
Il est très simple à utiliser; Inclure le module et la vous pouvez commencer à insérer des enregistrements tout de suite.
Il dispose de trois grandes méthodes: mettre, obtenir, et supprimer (et des méthodes un peu spéciales et options de paramètres)
Exemple:
Fusée magasin s'appuie sur le système de fichiers de cache, pour optimiser la vitesse, et peut fonctionner avec des millions d'enregistrements.
Son facilement 100 fois plus rapide qu'une base de données relationnelle, sur les plaquettes. Généralement 70.000 insertions/sec. (PC)
Vous obtenez des séquences simples, incrément automatique et d'autres mineurs convenances, mais que sur lui. Rien de fantaisie.
Je l'aime beaucoup, lorsque j'ai jamais besoin d'un simple stockage des solutions, mais je suis aussi très partial, comme l'auteur 😉
Vous pouvez simplement enregistrer le JSON de données dans un simple fichier texte et de le lire au redémarrage du serveur.
puis de travailler avec elle comme d'habitude.
Bien que les deux LokiJS et NeDB chercher à avoir plus d'utilisateurs, je viens de tomber sur TaffyDB. Bien que je n'ai pas essayé moi-même, je pensais que je devrais l'ajouter ici par souci d'exhaustivité.
Essayer LowDB
Lowdb est un petit local JSON base de données alimentée par Lodash (prend en charge le Nœud, l'Électron et le navigateur). Si vous connaissez Lodash, vous savez déjà comment utiliser Lowdb.