Skip to content

gsRatti1/socket.io-adapter-mongo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

socket.io-adapter-mongo

Build Status NPM version

*This module is modified from socket.io-redis

Update 5/31/2017 - Versions prior to 1.0 allowed an object to be passed which was used to build a URI. This caused problems when using replica sets and caused warnings when MongoDB change the client API. In the interest of simplicity and futureproofing the internal URI construction has been eliminated and it is now required that a valid mongo URI be passed.

How to use

var io = require('socket.io')(3000);
var mongoAdapter = require('socket.io-adapter-mongo');
io.adapter(mongoAdapter( 'mongodb://localhost:27017' ));

By running socket.io with the socket.io-adapter-mongo adapter you can run multiple socket.io instances in different processes or servers that can all broadcast and emit events to and from each other.

API

adapter(uri[, opts])

uri is a string that matches a mongodb connection string

mongodb://localhost:27017/test
mongodb://user:pass@localhost:27017/test
mongodb://user:pass@host1:27017,host2:27017,host3:27017/test

adapter(opts)

The following options are allowed:

  • key: the name of the key to pub/sub events on as prefix (socket.io)
  • socket: unix domain socket to connect to mongo ("/tmp/mongo.sock"). Will be used instead of the mongo URI if specified.
  • client: optional, the mubsub client to publish events on

If you decide to supply a client, make sure you use mubsub as a client or one with an equivalent API.

Running tests

Stat mongo, thenopen the test db mongo> use test And create a new user mongo> db.createUser({ user: "test", password: "test", roles: [ "readWrite" ] }) Then run the tests npm test

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.9%
  • Makefile 1.1%