1.0.1 • Published 7 years ago

mongoelastic v1.0.1

Weekly downloads
1
License
ISC
Repository
github
Last release
7 years ago

mongoelastic

use mongodb and elasticsearch on the same DB object

Installation

npm install mongoelastic

Connect

var mongoelastic = require('mongoelastic');

/*
** init method
** mongoUrl (string)
** mongoPort (integer)
** mongoDB (string)
** elasticUrl (string)
** elasticPort (integer)
*/
mongoelastic.init('localhost', 27017, 'test', 'localhost', 9200)

Documents : post, put, get, delete, search & count

/*
**  index (string) elasticsearch index ~ mongodb collection
**  type (string) elasticsearch type ~ useless for mongodb
**  id (string) document id
**  callback (function)
*/
mongoelastic.get('test', 'test', 1, function(err, response) {
	// get document from test index or test collection with id equal to 1
});

/*
**  index (string) elasticsearch index ~ mongodb collection
**  type (object) elasticsearch type ~ useless for mongodb
**  object (object) the object that you want to insert 
**  callback (function)
*/
mongoelastic.post('test', 'test', {'_id': 1, 'test': 1}, function(err, response) {
	// adding test document /test/test/1
});

/*
**  index (string) elasticsearch index ~ mongodb collection
**  type (object) elasticsearch type ~ useless for mongodb
**  id (string) document id
**  object (object) the object that you want to insert or partial update
**  options (object) { upsert: {text: 'Hello !'}, }
**  callback (function)
*/
mongoelastic.put('test', 'test', 1, {_id: 1, test: 500}, {upsert: true}, function(err, response) {
	// adding test document /test/test/1 with upsert option
});

/*
**  index (string) elasticsearch index ~ mongodb collection
**  type (string) elasticsearch type ~ useless for mongodb
**  id (string) document id
**  callback (function)
*/
mongoelastic.delete('test', 'test', 1, function(err, response) {
	// delete test document with id equal to 1
});

/*
**  index (string) elasticsearch index ~ mongodb collection
**  mongoQuery (object) object used for querying on mongodb
** 	elsQuery (object or string) object used for querying on elasticsearch
**  options (object) { type: '...', } adding some specific options for search
**  callback (function)
*/
mongoelastic.count('test', {test: 500}, 'test:500', null, function(err, response) {
	// count the number of document with query test equal to 500
});

/*
**  index (string) elasticsearch index ~ mongodb collection
**  mongoQuery (object) object used for querying on mongodb
** 	elsQuery (object or string) object used for querying on elasticsearch
**  options (object) { size: 100, from: 200} adding some specific options for search
**  callback (function)
*/
mongoelastic.search('test', {test: 500}, 'test:500', { size: 10, from: 0 } , function(err, response) {
	// search documents on mongoQuery (for mongodb) and elsQuery (for elasticsearch)
});

Trace & Debug mode

You can set PROCESS.env.ELSLOG = true. This option active the 'trace', 'error' "log" on elasticsearch client.