37 lines
774 B
JavaScript
37 lines
774 B
JavaScript
const mongoose = require('mongoose')
|
|
const { MongoMemoryServer } = require('mongodb-memory-server-core')
|
|
|
|
const mongoServer = new MongoMemoryServer({
|
|
instance: {
|
|
port: 27017,
|
|
dbName: 'coolify',
|
|
storageEngine: 'wiredTiger'
|
|
},
|
|
binary: {
|
|
version: '4.4.3'
|
|
|
|
}
|
|
})
|
|
|
|
mongoose.Promise = Promise
|
|
mongoServer.getUri().then((mongoUri) => {
|
|
const mongooseOpts = {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true
|
|
}
|
|
|
|
mongoose.connect(mongoUri, mongooseOpts)
|
|
|
|
mongoose.connection.on('error', (e) => {
|
|
if (e.message.code === 'ETIMEDOUT') {
|
|
console.log(e)
|
|
mongoose.connect(mongoUri, mongooseOpts)
|
|
}
|
|
console.log(e)
|
|
})
|
|
|
|
mongoose.connection.once('open', () => {
|
|
console.log(`Started in-memory mongodb ${mongoUri}`)
|
|
})
|
|
})
|