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
&update
type
: one ofcreate
,remove
&update
data
:[ item... ]
/[ affectedNum ]
( depends on type )
-
ILLEGAL TOKEN
validate token failed
-
SCHEMA REQUIRED
model scheme/struct required
-
other mongoose or mongoDB error