mongo-commands/index.js
Primakov Alexandr Alexandrovich 1f47d019e5 init start script
2024-08-27 12:27:51 +03:00

42 lines
1.2 KiB
JavaScript

const MDBClient = require('mongodb').MongoClient
const url = process.env.MONGO_URL
if (
!process.env.MONGO_URL ||
!process.env.DB_NAME ||
!process.env.COLLECTION_NAME ||
!process.env.COMMAND ||
!process.env.ARGUMENT
) {
throw new Error(`process.env.MONGO_URL ${process.env.MONGO_URL}
process.env.DB_NAME ${process.env.DB_NAME}
process.env.COLLECTION_NAME ${process.env.COLLECTION_NAME}
process.env.COMMAND ${process.env.COMMAND}
process.env.ARGUMENT ${process.env.ARGUMENT}
Данные переменные окружения должны быть заполнены`)
}
const mongoDBConnect = async () => {
try {
const MongoClient = new MDBClient(url, {
useUnifiedTopology: true,
})
return await MongoClient.connect()
} catch (error) {
console.error(error)
}
}
mongoDBConnect().then(async (client) => {
const db = await client.db(process.env.DB_NAME)
const collection = await db.collection(process.env.COLLECTION_NAME)
const answer = await collection[process.env.COMMAND](JSON.parse(process.env.ARGUMENT))
await client.close();
return answer.ops?.[0] ?? answer
})
.then(console.log)
.catch(console.error)