cap-cds-mongoose
Version:
MongoDB (Mongoose) persistence adapter & deployer for SAP CAP (works like @cap-js/hana / @cap-js/sqlite)
29 lines (22 loc) • 802 B
JavaScript
// lib/connection.js
const mongoose = require("mongoose");
let connected = false;
async function connect(uri, options = {}) {
if (connected && mongoose.connection.readyState === 1) return mongoose.connection;
if (!uri) throw new Error("MONGO_URL is required to connect to MongoDB");
const defaultOpts = {
// mongoose 7 removed useUnifiedTopology etc; keep flexible
autoIndex: true
};
await mongoose.connect(uri, { ...defaultOpts, ...options });
connected = true;
console.log("[mongoose-cap-amo] Connected to MongoDB");
return mongoose.connection;
}
function disconnect() {
if (!connected) return Promise.resolve();
return mongoose.disconnect().then(() => {
connected = false;
});
}
module.exports = { connect, disconnect, mongoose };