0.41.0 • Published 6 months ago

mongo2elastic v0.41.0

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Mongo to Elastic

Sync MongoDB to Elasticsearch

import { initSync, crate } from 'mongo2crate'
import { default as Redis } from 'ioredis'
import { MongoClient } from 'mongodb'
import retry from 'p-retry'
import elasticsearch from '@elastic/elasticsearch'

const client = await MongoClient.connect()
const db = client.db()

const elastic = new elasticsearch.Client()

const sync = initSync(new Redis(), db.collection('myCollection'), elastic, {
  omit: ['password', 'unneededStuff'],
})
// Log events
sync.emitter.on('process', console.info)
sync.emitter.on('error', console.error)
sync.emitter.on('cursorError', () => process.exit(1))
// Create index with ignore_malformed enabled
await sync.createIndexIgnoreMalformed().catch(console.warn)
// Create mapping
const schema = await sync.getCollectionSchema(db)
if (schema) {
  await sync.createMappingFromSchema(schema)
}
// Process change stream events
const changeStream = await sync.processChangeStream()
changeStream.start()
// Detect schema changes and stop change stream if detected
const schemaChange = await sync.detectSchemaChange(db)
schemaChange.start()
sync.emitter.on('schemaChange', changeStream.stop)
// Run initial scan of collection batching documents by 1000
const options = { batchSize: 1000 }
const initialScan = await sync.runInitialScan(options)
initialScan.start()
0.41.0

6 months ago

0.38.0

8 months ago

0.40.0

6 months ago

0.39.1

7 months ago

0.39.0

7 months ago

0.37.0

12 months ago

0.36.0

12 months ago

0.35.0

12 months ago

0.34.0

12 months ago

0.33.1

12 months ago

0.33.0

1 year ago

0.32.0

1 year ago

0.21.0

1 year ago

0.20.0

1 year ago

0.31.0

1 year ago

0.30.0

1 year ago

0.29.0

1 year ago

0.28.0

1 year ago

0.27.0

1 year ago

0.26.0

1 year ago

0.25.0

1 year ago

0.24.1

1 year ago

0.24.0

1 year ago

0.23.0

1 year ago

0.22.0

1 year ago

0.19.0

1 year ago

0.13.0

2 years ago

0.14.0

2 years ago

0.15.0

1 year ago

0.14.1

2 years ago

0.16.0

1 year ago

0.17.0

1 year ago

0.18.0

1 year ago

0.17.1

1 year ago

0.10.0

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.11.0

2 years ago

0.9.0

2 years ago

0.8.1

2 years ago

0.12.0

2 years ago

0.8.0

2 years ago

0.8.2

2 years ago

0.5.0

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.1.0

2 years ago