Universal model layer for browser apps based on websocket.
A nodejs project.
RPC realization with dnode & shoe
Storage based on mongoDB & mongoose
-
mongoDB service required
-
config
-
config/db.json (mongoDB info)
{ "domain": "127.0.0.1", // db service address "port": "8082", // db service port "user": "", // db service username "password": "", // db service password "db": "X" // db name }
-
config/server.json (server config)
{ "port": 8083, // server listen port "path": "/X" // websocket path }
-
-
install dependencies
npm install -
start server
node server.js -
gen token
-
gen token pair (accessToken & secretToken)
bin/genToken -
gen new accessToken (secretToken required)
bin/genAccess <secretToken>
-
-
list
[ { filters... }, { fields... }, { options... }, callback(err, list) ]get all matched instances
-
get
[ { filters... }, { fields... }, { options... }, callback(err, item) ]get one matched instance
-
distinct
[ 'field', { filters... }, callback(err, list) ]distinct operation
-
create
[ { item... } / [ { item... }, .... ], callback(err, item...) ]create (& save) one instance / instance array
-
remove
[ { filters... }, callback(err, affectedNum) ]remove all matched instances
-
update
[ { filters... }, { updates... }, { options... }, callback(err, affectedNum) ]update all matched instances
-
on
[ event, callback() ]listen to model events
-
create
[ item... ]item(s) created
-
remove
[ affectedNum ]item(s) removed
-
update
[ affectedNum ]item(s) updated
-
change
[ { type: 'type', data: [] } ]combination of
create,remove&updatetype: one ofcreate,remove&updatedata:[ item... ]/[ affectedNum ]( depends on type )
-
ILLEGAL TOKENvalidate token failed
-
SCHEMA REQUIREDmodel scheme/struct required
-
other mongoose or mongoDB error