NodeJS Data Access Notes
Drivers for relational DB's
massive-js
- MySQL and PostgreSQL
MsNodeSQL
- Native. Built in C/C++
- Fast
- Hard to compile on Windows. Easy to get working on a Mac.
- Get the
node-sqlserver-binary
which is a precomiled version of the MsNodeSQL libary when using this on Windows
Edge
- ScriptCS and Node.js interop (to call any .NET code)
Drivers for noSQL Data Stores
MongoDB
Caveats':
- Check the permissions on the /data/db/ directory:
ls -ld /data/db/
You will see permissions like:
drwxr-xr-x 2 root wheel 68 May 27 06:40 /data/db
sudo chmod 0755 /data/db
sudo chown mongod:mongod /data/db
- MongoDB Config file on OSX:
usr/local/etc/mongod.conf
Starting MongoDB on OSX
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
Create first MongoDB User
- Connect to Mongo: type
mongo
in the terminal
use admin
db.createUser(
{
user: "superuser",
pwd: "12345678",
roles: [ "root" ]
}
)
Create the system user administrator
db.createUser(
{
user: "siteUserAdmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Create a user administrator for a single database.
use records
db.createUser(
{
user: "recordsUserAdmin",
pwd: "password",
roles: [ { role: "userAdmin", db: "records" } ]
}
)
- References for getting MongoDB working on OSX
Mongo Express
cd /usr/local/lib/node_modules/mongo-express
node app
- Then you can browse to:
http://localhost:8081/
- The details such as the usernames and passwords are in the
config.js
RoboMongo
- Cross Platform MongoDB Management
- robomong
3T Mongo Chef
- 3T Mongo Chef is by far the easiest way to manage a Mongo database. It's free for personal use. It works for Mac, Windows, and Linux.