Comments (3)
When you create the JsonDB object, the lib will create the file if it doesn't exists and should log: "[JsonDB] DataBase " + self.filename + " created."
In fact, I'm quite sure the program you launch that use the library doesn't have the right to write in the current directory.
Try with a path like /tmp/myDb or any other path that you're sure your program can write to.
from node-json-db.
Might be an async bug after all. I'm getting the same error as @vihanP on both a Mac OSX and a linux (Ubuntu) box.
My node / npm install is fresh and clean.
I have full rights to install and code directories, so
installed as:
npm install node-json-db --save
I just copied and pasted the first three lines of code from the first example:
var JsonDB = require('node-json-db');
var db = new JsonDB("myDataBase", true, false);
db.push("/test1","super test");
saved as foobar.js
running node foobar.js
results in
~/0-JS-tests/node_modules/node-json-db/JsonDB.js:204
throw error;
^
NestedError: Can't Load Database
at DatabaseError.Error (native)
at DatabaseError.NestedError (~/0-JS-tests/node_modules/node-json-db/lib/Errors.js:7:25)
at new DatabaseError (~/0-JS-tests/node_modules/node-json-db/lib/Errors.js:29:33)
at JsonDB.load (~/0-JS-tests/node_modules/node-json-db/JsonDB.js:202:25)
at JsonDB._getData (~/0-JS-tests/node_modules/node-json-db/JsonDB.js:74:14)
at JsonDB._getParentData (~/0-JS-tests/node_modules/node-json-db/JsonDB.js:60:44)
at JsonDB.push (~/0-JS-tests/node_modules/node-json-db/JsonDB.js:142:27)
at Object.<anonymous> (~/0-JS-tests/node-json-db/foobar.js:10:4)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
commenting out the third line
// db.push("/test1","super test");
and running again, creates the DB --- and then the samples work.
I also tried to create an empty DB before running the three lines uncommented, by doing merely:
echo > myDataBase.json
but the initial push() still failed with same error. (Not sure how vihanp created his empty version.)
Besides confirming the bug, I wonder if @vihanP is on to something here - that there is some kind of async error here. The reason is that I can get the same error on the second push (), when the first push() worked.
thanks for your efforts - this is a nice idea!
- H
from node-json-db.
You are both right... Sorry @vihanP
I'm using mkdirp to create directory that are set in the path of the database, for an unknown reason I didn't use the sync version of it, which lead to this bug. I reproduced, tested and corrected it.
I'll release the new version soon. Thanks.
from node-json-db.
Related Issues (20)
- Nice lib, thanks a lot
- Error on production server. HOT 1
- "Error: EPERM: operation not permitted" when json-file is opened for viewing in other program HOT 1
- Error on array support HOT 1
- cant use email as a key for search HOT 2
- Concurent apps locking issues HOT 2
- Export core config types to have adapters available HOT 2
- Arrays indexing fails with numeric keys HOT 3
- Can't getIndex if it is array of objects
- Return undefined or null if an item was not found HOT 2
- Get an object in array by value HOT 1
- Request to Open Pull Request Permission for Repository HOT 1
- hope to add an export method HOT 1
- BUG: The Map type is not saved to a file HOT 2
- More resilient `load()`? HOT 1
- Feature request:DB file saving path HOT 2
- Method to read from path like routes to normal path HOT 3
- A new method to concat array on push items HOT 1
- Is there official support/no support for Sets? HOT 2
- Read/Write lock HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-json-db.