
Node.js, Express 및 Bootstrap 5로 작성된 웹 기반 MongoDB 관리자 인터페이스 5
| 홈페이지 | 데이터베이스보기 | 컬렉션보기 | 문서 편집 |
|---|---|---|---|
이 스크린 샷은 버전 0.30.40에서 온 것입니다.
최신 버전 ( 마스터 브랜치)으로 테스트하거나 개발하려면이 git 저장소를 사용하여 설치할 수 있습니다.
npm i mongo-express@github:mongo-express/mongo-express
OR
yarn add mongo-express@github:mongo-express/mongo-express
OR
pnpm add mongo-express@github:mongo-express/mongo-express
config.default.js를 config.js로 복사하고 지역 환경에 맞게 기본 속성을 편집하십시오.
다음을 사용하여 개발 빌드를 실행하십시오.
npm run start-dev
OR
yarn start-dev
OR
pnpm run start-dev
Mongo-Express는 node.js v18.18 이상이 필요합니다.
설치하려면 :
npm i -g mongo-express
OR
yarn add -g mongo-express
OR
pnpm add -g mongo-express
또는 비 글로벌 사본을 설치하려는 경우 :
npm i mongo-express
OR
yarn add mongo-express
OR
pnpm add mongo-express
기본적으로 config.default.js 기본 액세스 인증이 admin : pass 인 경우 사용됩니다. 이것은 분명히 안전하지 않으며 콘솔에 경고가 있습니다.
구성하려면 :
YOUR_PATH/node_modules/mongo-express/config.js YOUR_PATH/node_modules/mongo-express/config.default.js 를 복사하십시오.
참고 : Your_Path는 현재 OS 사용자 및 시스템 구성에 따라 다릅니다. NPM 설치를 실행 한 후 표시된 출력 텍스트에서 볼 수 있습니다.
mongoDB 연결 세부 정보 및 config.js 에서 변경하려는 기타 옵션을 작성하십시오.
또한 쿠키 및 세션 비밀에 대한 변수가있는 .env 파일을 만들어야합니다. 이들은 기본값 일뿐입니다.
ME_CONFIG_SITE_COOKIESECRET: 'cookiesecret',
ME_CONFIG_SITE_SESSIONSECRET: 'sessionsecret',
실행 :
cd YOUR_PATH/node_modules/mongo-express/ && node app.js
또는 전 세계적으로 설치 한 경우 즉시 다음과 같이 몽고 급식을 시작할 수 있습니다.
mongo-express
구성 옵션을 추가 할 수 있습니다. 예:
node app.js --url mongodb://127.0.0.1:27017
또는:
mongo-express --URL mongodb://127.0.0.1:27017
구성 옵션 :
| 옵션 | 짧은 | 설명 |
|---|---|---|
--version | -V | 버전 번호를 출력하십시오 |
--url <url> | -U <url> | Connection String URL ( <url> 예 : mongodb://127.0.0.1:27017 ) |
--admin | -a | 관리자로 인증을 활성화하십시오 |
--port <port> | -p <port> | 지정된 포트에서 듣습니다 (기본 <port> 는 8081 입니다) |
--help | -h | 명령 옵션에 대한 도움말 표시 |
Express 4 미들웨어로 장착하려면 ( node_modules/mongo-express/app.js 참조) :
var mongo_express = require('mongo-express/lib/middleware')
var mongo_express_config = require('./mongo_express_config')
app.use('/mongo_express', mongo_express(mongo_express_config))
docker 네트워크 (아래 --network some-network )에서 mongodb 컨테이너를 실행중인 mongodb 컨테이너를 mongo --network-alias --name 설정하십시오. 또는 연결 문자열 ME_CONFIG_MONGODB_URL Docker 네트워크의 MongoDB 컨테이너의 올바른 연결로 설정하십시오.
Docker Hub 이미지 사용 :
$ docker run -it --rm -p 8081:8081 --network some-network mongo-express출처에서 빌드 :
프로젝트 디렉토리에서 이미지를 빌드 한 다음 이미지를 실행하십시오.
$ docker build -t mongo-express .
$ docker run -it --rm -p 8081:8081 --network some-network mongo-express다음 환경 변수를 사용하여 컨테이너 구성을 수정할 수 있습니다.
| 이름 | 기본 | 설명 |
|---|---|---|
ME_CONFIG_MONGODB_URL | mongodb://admin:pass@localhost:27017/db?ssl=false | |
ME_CONFIG_MONGODB_ENABLE_ADMIN | false | 관리자 액세스를 활성화합니다. 문자열 보내기 : "true" 또는 "false" . |
ME_CONFIG_MONGODB_AUTH_USERNAME | admin | 데이터베이스 사용자 이름 ( ENABLE_ADMIN "false" 인 경우에만 필요). |
ME_CONFIG_MONGODB_AUTH_PASSWORD | pass | 데이터베이스 비밀번호 ( ENABLE_ADMIN "false" 인 경우에만 필요). |
ME_CONFIG_MONGODB_ALLOW_DISK_USE | false | 각 집계 파이프 라인 단계에서 100MB RAM의 한계를 제거하십시오. |
ME_CONFIG_MONGODB_TLS | false | TLS 클라이언트 인증서를 사용하십시오 |
ME_CONFIG_MONGODB_TLS_ALLOW_CERTS | true | CA에 대해 Mongod 서버 인증서를 확인하십시오 |
ME_CONFIG_MONGODB_TLS_CA_FILE | `` | CA 인증서 파일 |
ME_CONFIG_MONGODB_TLS_CERT_FILE | `` | TLS 클라이언트 인증서 파일 |
ME_CONFIG_MONGODB_TLS_CERT_KEY_FILE | `` | TLS 클라이언트 인증서 키 파일 |
ME_CONFIG_MONGODB_TLS_CERT_KEY_FILE_PASSWORD | `` | TLS 클라이언트 인증서 키 파일 비밀번호 |
ME_CONFIG_MONGODB_URL_FILE | `` | me_config_mongodb_url의 파일 버전 |
ME_CONFIG_MONGODB_AWS_DOCUMENTDB | false | 이것은 AWS DocumentDB 호환성 (실험)을 허용합니다. |
ME_CONFIG_SITE_BASEURL | / | 서브 디렉토리에서 마운팅을 용이하게하기 위해 Express BaseUrl을 설정하십시오. 선도 및 후행 슬래시를 포함해야합니다. |
ME_CONFIG_HEALTH_CHECK_PATH | /status | Mongo Express HealthCheck 경로를 설정하십시오. 처음에 전진 슬래시를 추가해야합니다. |
ME_CONFIG_SITE_COOKIESECRET | cookiesecret | 쿠키 사인 쿠키에 쿠키 패러 미들웨어가 사용하는 문자열. |
ME_CONFIG_SITE_SESSIONSECRET | sessionsecret | 문자열은 Express-Session Middleware에 의해 세션 ID 쿠키에 서명하는 데 사용됩니다. |
ME_CONFIG_BASICAUTH | false | 더 이상 사용되지 않으면 ME_CONFIG_BASICAUTH_ENABLED 대신 사용하십시오. |
ME_CONFIG_BASICAUTH_ENABLED | false | 기본 인증을 활성화합니다. 문자열 보내기 : "true" 또는 "false" . |
ME_CONFIG_BASICAUTH_USERNAME | `` | Mongo-Express 웹 로그인 이름. 정의되지 않은 경우 admin 사용자 이름입니다. |
ME_CONFIG_BASICAUTH_USERNAME_FILE | `` | ME_CONFIG_BASICAUTH_USERNAME 의 파일 버전 |
ME_CONFIG_BASICAUTH_PASSWORD | `` | Mongo-Express 웹 로그인 암호. 정의되지 않으면 pass 는 비밀번호입니다. |
ME_CONFIG_BASICAUTH_PASSWORD_FILE | `` | ME_CONFIG_BASICAUTH_PASSWORD 의 파일 버전 |
ME_CONFIG_OIDCAUTH_ENABLED | false | OpenIdConnect 인증을 활성화합니다. 문자열 보내기 : "true" 또는 "false" . |
ME_CONFIG_OIDCAUTH_ISSUER | `` | OAUTH2 발행자. OpenIdConnect 메타 데이터 예를 들어 루트 URL. "<issuer>/.well-known/openid-configuration" |
ME_CONFIG_OIDCAUTH_ISSUER_FILE | `` | ME_CONFIG_OIDCAUTH_ISSUER 의 파일 버전 |
ME_CONFIG_OIDCAUTH_CLIENTID | `` | oauth2 clientId. 고객은 개인이어야하며 승인 코드 흐름 보조금을 수행 할 수 있어야합니다. |
ME_CONFIG_OIDCAUTH_CLIENTID_FILE | `` | ME_CONFIG_OIDCAUTH_CLIENTID 의 파일 버전 |
ME_CONFIG_OIDCAUTH_CLIENTSECRET | `` | OAUTH2 클라이언트 비밀. |
ME_CONFIG_OIDCAUTH_CLIENTSECRET_FILE | `` | ME_CONFIG_OIDCAUTH_CLIENTSECRET 의 파일 버전 |
ME_CONFIG_OIDCAUTH_SECRET | `` | 라이브러리가 승인 코드 흐름을 시작하기 위해 사용하는 임의의 비밀 (필수) |
ME_CONFIG_OIDCAUTH_SECRET_FILE | `` | ME_CONFIG_OIDCAUTH_SECRET_FILE 의 파일 버전 |
ME_CONFIG_OIDCAUTH_BASEURL | `` | OAUTH2 기본 URL. 리디렉션 URL을 구축하는 데 사용됩니다. "<base-url>/callback" . 지정되지 않으면 ME_CONFIG_SITE_BASEURL 사용됩니다. |
ME_CONFIG_OIDCAUTH_BASEURL_FILE | `` | ME_CONFIG_OIDCAUTH_BASEURL 의 파일 버전 |
ME_CONFIG_REQUEST_SIZE | 100kb | 최대 몽고 업데이트 페이로드 크기를 구성하는 데 사용됩니다. 이 크기 이상의 CRUD 작업은 Body-Parser의 제한으로 인해 실패합니다. |
ME_CONFIG_OPTIONS_READONLY | false | Readonly가 사실이라면 작문 구성 요소가 보이지 않습니다. |
ME_CONFIG_OPTIONS_FULLWIDTH_LAYOUT | false | true로 설정된 경우 대체 페이지 레이아웃이 전체 창 너비를 사용하여 사용됩니다. |
ME_CONFIG_OPTIONS_PERSIST_EDIT_MODE | false | true로 설정된 경우 저장 버튼을 클릭 한 후 같은 페이지에 남아 있습니다. |
ME_CONFIG_OPTIONS_NO_DELETE | false | Nodelete가 참이면 삭제의 구성 요소가 보이지 않습니다. |
ME_CONFIG_SITE_SSL_ENABLED | false | SSL을 활성화합니다. |
ME_CONFIG_SITE_SSL_CRT_PATH | | SSL 인증서 파일. |
ME_CONFIG_SITE_SSL_KEY_PATH | | SSL 키 파일. |
ME_CONFIG_SITE_GRIDFS_ENABLED | false | GRIDFS가 업로드 된 파일을 관리 할 수 있도록합니다. |
ME_CONFIG_DOCUMENTS_PER_PAGE | 10 | 수집보기에서 한 번에보고 싶은 문서 수 |
PORT | 8081 | Mongo-Express가 진행될 포트. |
VCAP_APP_HOST | localhost | Mongo-Express가 들어오는 연결에 대해들을 것입니다. |
예:
docker run -it --rm
--name mongo-express
--network web_default
-p 8081:8081
-e ME_CONFIG_BASICAUTH_ENABLED="false"
-e ME_CONFIG_MONGODB_URL="mongodb://mongo:27017"
mongo-express
이 예제는 docker-compose 의 전형적인 컨테이너 이름으로 연결되고 편집기의 색상 테마를 변경하며 기본 인증을 비활성화합니다.
사용하려면 :
컨테이너에서 노출 된 기본 포트는 8081이므로 http://localhost:8081 또는 config에 입력 한 URL/포트 또는 config.site.baseUrl (미들웨어로 장착하는 경우)을 방문하십시오.
전제 조건 :
용법:
Mongo Express Docker Extension을 사용하면 한 번의 클릭만으로 Docker Desktop에서 Mongo Express를 쉽게 설정할 수 있습니다.
IBM Cloud에 배포하십시오
수동으로 수행 :
examples/ibm-cloud/manifest.yml 변경자동으로 수행 :
그런 다음 환경에 맞게 사용자 정의하기 위해 다음 조치를 취하십시오.
config.default.js 기반으로 config.js 파일을 만듭니다dbLabel 변경 해야하는지 확인하십시오.basicAuth 속성을 변경하고 기본값을 유지하지 마십시오. mongo-express 패키지를 사용한 사용
mongo-express 패키지 로 설치하는 경우 express-openid-connect 종속성을 설치하십시오.
yarn add express-openid-connectOAUTH2 응용 프로그램을 설정하십시오
현재 구현은 OAUTH2 권한 부여 코드 흐름 보조금을 지원하여 신분 공급자의 클라이언트를 설정하고 매개 변수를 응용 프로그램에 전달해야합니다.
ME_CONFIG_OIDCAUTH_ENABLED=true
ME_CONFIG_OIDCAUTH_BASEURL=https:// < domain > / < base-url >
ME_CONFIG_OIDCAUTH_ISSUER= < authority >
ME_CONFIG_OIDCAUTH_CLIENTID= < client-id >
ME_CONFIG_OIDCAUTH_CLIENTSECRET= < client-secret > # Optional
ME_CONFIG_OIDCAUTH_SECRET= < random-generated-string >
ME_CONFIG_SITE_COOKIESECRET= < client-secret >
ME_CONFIG_SITE_BASEURL=/ < base-url > 클라이언트를 등록하려면 응용 프로그램 기반 URL에 추가 /callback 통해 얻을 수있는 응용 프로그램의 리디렉션 URI가 필요합니다. https://example.com/mongo-express/callback
key 및 value )를 가져 와서 mongodb find () 객체를 준비하고 {} 에 투사를 설정하여 모든 열을 반환합니다.find 및 projection 필드/객체를 MongoDB db.collection.find(query, projection) 로 바로 전달합니다. find 개체는 쿼리가 발생하는 위치이며, projection 객체는 어떤 열이 반환되는지를 결정합니다.예제 및 정확한 사용법은 MongoDB DB.Collection.Find () 문서를 참조하십시오.
풀 요청은 항상 환영합니다! ?
document._id 있어야합니다. _ID 속성을 편집해야합니다 We are currently trying to use Cypress, to open cypress use the command `cypress open`
To instrument the code to allow the E2E coverage to run, please run this command: `yarn nyc instrument --compact=false lib instrumented`
JSON 문서는 JavaScript 가상 머신을 통해 구문 분석되므로 웹 인터페이스를 서버에서 악성 JavaScript를 실행하는 데 사용할 수 있습니다 .
Mongo-Express는 개발 목적으로만 개인적으로 사용해야합니다 .
다음 BSON 데이터 유형은 Mongo-Express 문서 편집기/뷰어에서 지원됩니다.
기본 JavaScript 유형
문자열, 숫자, 목록, 부울, 널 등
JavaScript의 모든 숫자는 64 비트 플로팅 포인트입니다.
ObjectId/ObjectId
ObjectId()
새 개체 ID 유형을 만듭니다.
ObjectId(id)
주어진 24 자리 육각형 문자열과 함께 객체 ID를 사용하십시오.
이소 데이트
ISODate()
현재 시간으로 새로운 Isodate 객체를 만듭니다.
new Date() 도 사용할 수 있습니다 ( new 키워드에 유의하십시오).
ISODate(timestamp)
주어진 타임 스탬프와 함께 Isodate 객체를 사용합니다.
uuid
UUID()
새로운 uuid v4를 만듭니다.
new UUID() 사용할 수 있습니다 ( new 키워드 참고).
UUID(uuid)
주어진 24 자리 육각형 문자열과 함께 uuid v4를 사용합니다.
예 : UUID("dee11d4e-63c6-4d90-983c-5c9f1e79e96c") 또는 UUID("dee11d4e63c64d90983c5c9f1e79e96c")
dbref/dbref
DBRef(collection, objectID)
DBRef(collection, objectID, database)
Object ID는 객관적인 유형이 아닌 ID 문자열입니다.
데이터베이스 값은 선택 사항입니다.
타임 스탬프
Timestamp()
값이 0 인 새 타임 스탬프 객체를 만듭니다.
Timestamp(time, ordinal)
예 : Timestamp(ISODate(), 0) .
타임 스탬프 데이터 유형에 대한 자세한 내용은 http://www.mongodb.org/display/docs/timestamp+data+type를 참조하십시오.
암호
Code(code)
코드는 기본 JavaScript 함수 일 수 있거나 문자열 일 수 있습니다.
범위/컨텍스트를 지정하는 것은 지원되지 않습니다.
미키
MinKey()
맥스키
MaxKey()
상징
Symbol(string)
다음은 Mongo-Express에서 읽거나 편집 할 수있는 문서의 예입니다.
{
"_id": ObjectId(),
"dates": {
"date": ISODate("2012-05-14T16:20:09.314Z"),
"new_date": ISODate(),
"alternative": new Date()
},
"photo": "data:image/jpeg;base64,/9j/4...",
"video": "data:video/webm;base64,GkXfo...",
"audio": "data:audio/ogg;base64,T2dnUw...",
"bool": true,
"string": "hello world!",
"list of numbers": [
123,
111e+87,
4.4,
-12345.765
],
"reference": DBRef("collection", "4fb1299686a989240b000001"),
"ts": Timestamp(ISODate(), 1),
"minkey": MinKey(),
"maxkey": MaxKey(),
"func": Code(function() { alert('Hello World!') }),
"symbol": Symbol("test")
}