adminjs
adminjs copied to clipboard
[Bug]: mongodb with with resource NoResourceAdapterError: There are no adapters supporting one of the resource you provided
Contact Details
No response
What happened?
List what you are trying to do?
I added the code for mango admin.
Bug prevalence
not able to setup
AdminJS dependencies version
"@adminjs/express": "^5.1.0",
"@adminjs/mongoose": "^3.0.3",
"adminjs": "^6.8.7",
"express": "~4.16.1",
"express-formidable": "^1.2.0",
"express-session": "^1.17.3",
"mongoose": "^7.0.3",
What browsers do you see the problem on?
No response
Relevant log output
adminjs/lib/backend/utils/resources-factory/resources-factory.js:99
throw new NoResourceAdapterError(resourceObject);
^
NoResourceAdapterError: There are no adapters supporting one of the resource you provided
Relevant code that's giving you issues
const AdminJS = require('adminjs')
const AdminJSExpress = require('@adminjs/express')
const express = require('express')
// connectt resource with admin
const mongoose = require("mongoose");
const AdminJSMongoose = require("@adminjs/mongoose");
const { Product } = require("./models/Products.js");
AdminJS.registerAdapter({
Resource: AdminJSMongoose.Resource,
Database: AdminJSMongoose.Database,
})
const PORT = 5000
const startAdminJS = async () => {
const app = express()
const mongooseDB = await mongoose
.connect(
"mongodb+srv://URL?retryWrites=true&w=majority",
{
useNewUrlParser: true,
useUnifiedTopology: true,
}
)
.then(() => console.log("database connected"))
.catch((err) => console.log(err));
const ProductResourceOptions = {
databases: [mongooseDB],
resource: Product,
};
const adminOptions = {
rootPath: "/admin",
resources: [ProductResourceOptions],
};
const admin = new AdminJS(adminOptions);
const adminRouter = AdminJSExpress.buildRouter(admin)
app.use(admin.options.rootPath, adminRouter)
app.listen(PORT, () => {
console.log(`runing port ${PORT}, Admin server on URL: http://localhost:${PORT}${admin.options.rootPath}`)
})
}
startAdminJS()