2012-05-31 4 views
0

동적 인 방법 (올바른 단어가 맞는지 확실하지 않음)이 nodeJS에 경로를 추가하는지 궁금합니다. 내 말은, 사용자가 실행중인 프로그램 내에서 더 많은 경로를 추가 할 수 있도록하려는 것입니다. kludged 버전은 단순히 파일에 경로가 있고 응용 프로그램의 파일이 변경된 것을 알게되면 서버를 재설정하는 NPM 라이브러리를 사용합니다 (NPM 패킷이 호출 된 것을 잊었습니다). 그것은 반 생산 준비가 된 것조차도 실용적인 방법이 아닙니다.노드에서 Express에 경로를 프로그래밍 방식으로 추가

아이디어가 있으십니까?

편집 : 주말 프로젝트는 서버로서 서비스입니다. 프로토 타이핑 및 앱을 사용하거나 hackathon에 참여한다고 가정하고 데이터를 저장할 데이터베이스가있는 서버가 필요합니다. 이 시점에서 문제는 서버 측을 모르거나 서버를 설정할 시간이 없다는 것입니다. 그래서이 프로젝트로 할 수있는 일은 테이블/데이터베이스 이름과 GET, POST, PUT, DELETE 및 어떤 유형의 데이터를 넣을 경로를 지정하면 실제 URL과 모든 인증 작업.

그래서 사용자가 경로를 추가하려고 할 때 실제로 어떻게 할 수 있습니까?

+0

사용자가 경로를 추가 할 때 사용자가 GET 요청을 사용하여 경로를 조회 할 때 어떤 일이 발생해야합니까? (또는 POST 등) –

+0

이 프로젝트는 서비스로서의 서버입니다. 본질적으로 데이터베이스와 서버가 있고 데이터베이스/테이블, 필드, 원하는 REST API 경로의 이름을 입력하면 서버 측에서 모든 코드가 생성됩니다.애플리케이션 프로토 타이핑이나 해킹 (hackathoning)을위한 유스 케이스를 상상해 보라. JSON 객체를 저장하는 서버 컴포넌트가 필요할 때, ans는 필요한 모든 기본 요청을 가지고있다. 그리고 당신은 모든 폼을 채워서 이것을 얻을 수있다. 앱에서 작업 할 시간. 주말 프로젝트를 통해 더 많은 nodeJS, mongoDb를 배울 수 있습니다. –

+1

데이터베이스, 필드 및 이름 매개 변수가있는 POST에서 MongoDB에서 콜렉션을 설정할/apps와 같은 RESTful 경로 (expressjs 또는 유사 사용)를 구현할 수 있습니다. 그런 다음 사용자는/apps/: name과 같은 경로에서 GET을 수행 할 수 있습니다. 여기서 name은 변수입니다. 그런 다음 req.params.name을 사용하여 지정된 이름을 가져 와서 데이터베이스에서 조회하여 원하는대로 반환 할 수 있습니다. 예를 들어/apps/normanjoyner에서 GET하면 데이터베이스의 모든 데이터를 반환 할 수 있습니다. 또는/apps/norm? id = 1 같은 쿼리 매개 변수를 전달하여 db의 특정 항목을 반환 할 수 있습니다. 이게 당신이 생각한거야? –

답변

2

다음과 같이 내가 작업 사진 방법은 다음과 같습니다

몸 {이름/애플리케이션에 POST : "myFirstDB"필드 : [{이름 : "아이디"입력 : "문자열"}, {이름을 : "age", type : Integer}]는 myFirstDB라는 이름의 사용자 (normanjoyner)에 대해 id 및 age 필드를 사용하여 데이터베이스를 설정합니다. 익스프레스 라우팅의 본문에서는 지정된 스키마를 사용하여 새로운 mongoDB 컬렉션을 생성합니다.

body/id : "1", age : 21과 함께/apps/: username/: dbname에 항목이 추가됩니다. (여러 항목을 동시에 추가 할 수있는 객체 배열을 허용 할 수도 있음)

body/id : "1", age : 22와 일치하는/apps/: dbname? id = 1은 일치하는 특정 항목을 업데이트합니다 쿼리 문자열 PARAMS가

GET (당신이 단 하나 개의 항목을 업데이트하려는 경우 쿼리 문자열 PARAM은 고유 ID를해야한다는 주)/애플 리케이션/: 이름/: DBNAME은

DB를 지정된 모든 항목을 반환 는 는

가에 GET/apps/: 사용자 이름/: dbname? id = 1은 쿼리 문자열 매개 변수와 일치하는 항목 만 반환합니다.

/apps/: 사용자 이름/: dbname은 전체 db 및 스키마를 삭제합니다. 사용자 이름/: :

은/애플 리케이션/삭제를 DBNAME하는 일치하는 쿼리 문자열 기준

당신은 아이디어를 얻을 특정 행을 삭제합니다 = 1 ID입니다. 당신은 확실히 이것에 확장하고 희망을 갖고 당신의 필요 전부를 만날 수있다.

희망이 도움이됩니다.

0

유스 케이스의 구현을 찾고 있다면 Json Feed Server을 살펴보십시오. 대부분의 앱에서 의도하는 바를 수행합니다.

희망이 도움이됩니다.

관련 문제