J'ai essayé NeDB dans node-webkit il fonctionne correctement sur les données de la mémoire, mais pas sur le stockage persistant.Comment obtenir un stockage persistant dans NeDB?
Répondre
certainement pas de noeud-webkit ou un expert nedb mais c'est comme je l'ai fait et cela a fonctionné.
Comme déjà mentionné par mvanderw dans les commentaires, assurez-vous certainement de vérifier l'option de chargement automatique.
Ceci est par exemple ma configuration pour un simple noeud-webkit/app Todo angulaire:
var Datastore = require('nedb'),
path = require('path'),
db = new Datastore({ filename: path.join(require('nw.gui').App.dataPath, 'todo.db'), autoload: true });
Lorsque je redémarre l'application, tous les todos sont toujours là et je suis prêt à aller.
Hope this helps
Edit: Exemple comme demandé par Scott
var Datastore = require('nedb'),
path = require('path'),
db = new Datastore({
filename:path.join(require('nw.gui').App.dataPath, 'todo.db'),
autoload: true
});
var todoServices = angular.module('todoServices', []);
todoServices.factory('Todo', function($q) {
return {
getAll: function(){
var defer = $q.defer();
db.find({
//...some criteria
},
function(err, docs) {
defer.resolve(docs);
});
return defer.promise;
}, //...moar code
}
});
Quelque chose comme ça ...
par hasard avez-vous publié le code pour votre application todo? J'essaie d'intégrer nedb avec mon application node-webkit et le manque d'exemples fonctionnels est vraiment limitant – Scott
ehm ... peut-être poser une question Stack et un lien pour que je puisse poster avec un formatage correct :) – flaky
:) – flaky
C:\Users\Dinesh\AppData\Local\FrameLess\nedb-data
est où node-webkit
décompressé l'application; Cela signifie que votre application a été empaquetée sous la forme .nw
, qui est un fichier zip plus intelligent. En conséquence, il doit être décompressé dans un dossier tmp à exécuter, ce qui explique pourquoi vous avez trouvé votre base de données dans AppData
.
Dans votre outil de développement, vous pouvez toujours savoir dans quel dossier votre application a été décompressée en tapant: process.env
. Votre propriété TMPDIR
est l'emplacement de votre base de données (TMPDIR
est une propriété de Mac OS X, elle peut être nommée différemment sous Windows).
Vous pouvez exécuter votre application nw
sans l'empaqueter. Fondamentalement, vous pouvez faire glisser votre dossier sur nw.exe
; ou en tapant nw.exe yourAppFolder
; ou empaquetez votre application en tant que .nw
, comme vous l'avez fait.
Lire la ligne directrice suivante une nouvelle fois: https://github.com/rogerwang/node-webkit/wiki/How-to-run-apps
- 1. Problèmes d'enregistrement dans un stockage persistant iphone
- 2. Comment créer un stockage persistant sur iPhone?
- 3. comment implémenter le stockage persistant dans Android
- 4. Swift stockage persistant
- 5. Stockage persistant personnalisé?
- 6. Stockage persistant Cocoa/MacOSX
- 7. Stockage persistant iPhone
- 8. comment résoudre le problème de stockage persistant?
- 9. Problème de stockage persistant BlackBerry,
- 10. gearman solutions de stockage persistant
- 11. Stockage persistant des données d'objet
- 12. Utilisation de stockage persistant dans BlackBerry
- 13. Stockage persistant Nokia Series 40
- 14. Comment faire un stockage persistant pour le pilote de filtre?
- 15. Comment mettre en œuvre le stockage persistant dans l'application Android
- 16. Comment ajouter SQLite comme stockage persistant dans CoreData?
- 17. Stockage persistant en mémoire en Python
- 18. Stockage persistant en PHP (classe Data_Registry)
- 19. Blackberry Content Protection et le stockage persistant
- 20. Symbian C++ - Stockage persistant d'une seule variable
- 21. Stockage persistant Amazon AWS Server pour PHP
- 22. Stockage et restauration de cookies dans Android (stockage persistant de cookies)
- 23. incapable d'enregistrer une NSMutableArray d'image en utilisant un stockage persistant
- 24. ajouter une image dans le stockage persistant HTML5
- 25. Inclusion et stockage persistant dans CustomRules.js de Fiddler
- 26. Stockage persistant hors ligne dans l'application mobile Sencha
- 27. Html 5 Stockage local non persistant dans Firefox
- 28. Comment les bases de données graphiques stockent-elles des données dans un stockage persistant?
- 29. Comment utiliser un plist comme un stockage persistant pour l'application iPhone
- 30. Sérialisation d'Android Bundle pour le stockage réseau et/ou persistant?
-vous obtenez des erreurs? – robertklep
Besoin de plus d'informations - avez-vous regardé [nedb db loading] (https://github.com/louischatriot/nedb#creatingloading-a-database), en particulier les options 'inMemoryOnly' et' autoload'? –
enfin, j'ai trouvé la base de données est créée dans un autre répertoire le paquet est à: C: \ Users \ Dinesh \ Programmes \ Node-Webkit \ FrameLess le nw.exe est à: C: \ Users \ Dinesh \ Programs \ Node-Webkit \ Package la base de données est enregistrée à un emplacement étrange: C: \ Utilisateurs \ Dinesh \ AppData \ Local \ FrameLess \ nedb-données – Dinesh