Да, в AdminJS, который является расширяемым фреймворком для создания панели администратора, можно работать с данными формата JSON или JSONB.
AdminJS предоставляет специальное поле типа "json" для работы с данными, которые представлены в формате JSON или JSONB. Это позволяет администраторам легко просматривать и редактировать такие данные.
Чтобы использовать поле типа "json" в AdminJS, вам необходимо добавить соответствующий атрибут в соответствующем конфигурационном объекте для вашей модели. Например, если у вас есть модель "User" с атрибутом "settings" типа JSON, вы можете создать конфигурацию следующим образом:
const AdminJS = require('adminjs'); const { json } = require('adminjs/mongoose'); const mongoose = require('mongoose'); const UserSchema = new mongoose.Schema({ settings: { type: mongoose.Schema.Types.Mixed, default: {} } }); const User = mongoose.model('User', UserSchema); AdminJS.registerAdapter(mongoose); const adminJsOptions = { resources: [ { resource: User, options: { properties: { settings: { type: 'json' } } } } ] }; const adminJs = new AdminJS(adminJsOptions);
В этом примере мы использовали адаптер Mongoose для связи AdminJS с нашей моделью и указали, что атрибут "settings" должен быть представлен как поле типа "json". Теперь, когда вы запустите приложение, вы сможете просматривать и редактировать данные в формате JSON или JSONB через панель администратора, созданную на основе AdminJS.
Однако помните, что тип "json" в AdminJS предназначен только для работы с данными, которые представлены в формате JSON или JSONB. Если вы хотите взаимодействовать с данными в других форматах, вам, возможно, потребуется создать собственное поле типа.