2011-09-03 4 views
12

내 모델에서 자바 스크립트를 사용하여 mongodb를 클라이언트 측에서 직접 사용하고 싶습니다. 나는 mongo 웹 사이트에 데모 용 자바 스크립트 실시간 콘솔이 있기 때문에 가능하다고 생각합니다.몽고 클라이언트 사이드 자바 스크립트 API

클라이언트 - 서버 글루 코드를 작성하지 않고도 일반 자바 스크립트 응용 프로그램에서 동일한 API를 사용할 수 있습니까?

답변

7

사이트처럼 보이는

덕분에 REST와 같은 AJAX 인터페이스를 사용하지만, 나는 그것이 어떤 브리지를 통해 직접 또는 간접적 MongoDB의 인스턴스에 액세스하지 않음을 확신합니다.

이 패턴을 적용하기 전에 두 번 생각하십시오. 보안을 어떻게 적용합니까? AJAX 제한 사항을 알고 있습니까? 당신이 정말로 당신이 몇 가지 유용한 리소스에 대한 공식 documentation 점을 무엇을하고 있는지 알고있는 경우 :

  • Sleepy Mongoose (파이썬)는 별도의 프로젝트로 사용할 수 있습니다 MongoDB를위한 완전한 기능을 갖춘 REST 인터페이스입니다.

  • MongoDB Rest (Node.js를)는 MongoDB의 노드 고유 드라이버를 사용하여 MongoDB에 알파 REST 인터페이스이다.

  • Simple REST Interface mongod 프로세스에는 편의를 위해 간단한 읽기 전용 REST 인터페이스가 포함되어 있습니다. 완전한 REST 기능을 사용하려면 Sleepy.Mongoose과 같은 외부 도구를 사용하는 것이 좋습니다.

지내는 다리를 가졌 및 관리

same origin policy 쉽게 직접 AJAX 호출 및 자바 스크립트를 사용하여 MongoDB를 액세스 할 수 있습니다.

+1

보안에 대한 제안이 있으십니까? – Bakaburg

+1

나는 서버 측에서 클라이언트와 MongoDB REST 브릿지 사이에 중간 단계를 두어 자격 증명을 검토하고 클라이언트를 인증한다고 생각합니다. 이렇게하면 클라이언트 코드 (브라우저)는 MongoDB 자격 증명에 대해 아무것도 모르고 있지만 세션 쿠키 (사용자가 로그인되었다고 가정 함)를 전송하기 때문에 클라이언트를 식별하고 액세스 권한을 부여 할 수 있습니다. –

+0

답변 해 주셔서 감사합니다! 나는 너에게 동의한다. 하지만 서버 중간 계층을 통해 모든 데이터베이스 요청을 전달해야하는 부담없이 앱을 만드는 것은 불가능하다고 생각하십니까? couchdb와 couchapp는 REST 통신 (실제로 깨끗한 jquery 인터페이스)을 사용할 수 있습니다. 그들은 보안에 어떻게 대처합니까?나는 couchdb를 배우고 싶지 않다. 왜냐하면 내가 필요로하는 것을 지나치게 복잡하기 때문에 (그리고 내가 가지고있는 시간 동안) – Bakaburg

1

내가 관리 인터페이스 내부의 콘솔과 비슷한 것을 할 필요가 있었고 백엔드에서 PHP를 사용했기 때문에 js 명령을 받고 MongoDB :: execute 메소드를 사용하여 스크립트를 작성했습니다. PHP는 이미 열려 있으므로 인증 데이터는 전달하지 않아도됩니다.
이렇게하면 매우 신중해야합니다. 신뢰할 수있는 사용자 만 페이지 (및 스크립트)에 액세스 할 수 있도록하고, 누구나 클라이언트에서 js를 실행할 수 있으므로 공개적으로 사용할 수 없도록 설정해야합니다. db.

편집 : 여기 meteorjs 또는 유사한 살펴보십시오 워드 프로세서 http://ar2.php.net/manual/en/mongodb.execute.php

1

에 대한 링크입니다. 한 번 작성된 모델은 완전한 ACL입니다.

레디 스에서 추가 할 때 더 좋아집니다.

관련 문제