2015-01-15 6 views
0

나는 angularjs에 nodejs와 client에 내 서버가 있고 데이터베이스로 mongodb (mongoose)가 있습니다. 내 클라이언트가 특정 값에 몇 가지 필드를 고정 같이 넣어 모든 정상 consitions와 검색 쿼리를 만들 수 있도록하려면, 검색 문자열은mongodb에서 클라이언트와 서버 간 API 검색

쿼리가 될 수있는 필드 등의 몇 가지에 포함

(value of field A can be 'x' or 'y') and 
(value of field B can range between dates P and Q) and 
(string s contained in fields C or D or E) few more 

거기에 어떤 npm 플러그인이나 표준화 내가 따라 서버 측 API를 풍요롭게하고 직접 쿼리를 여러 쿼리 (많은 코드)와 함께 줄이는 쿼리를하면서 표현을 넣어.

답변

1

예, 몇 가지가 있습니다. 나는 몽구스와 함께 일하는 사람들 만 알고 있으므로 다른 드라이버를 사용하고 있다면 몽타주를 약간 수정해야 할 수도 있습니다.

이들 각각을 사용하여 로컬로 필터링 할 대상과 서버에서 처리 할 대상을 결정해야합니다. 필터링하는 위치는 보유하고있는 데이터의 양에 따라 크게 달라집니다. 개인적으로, 가장 큰 세트의 로컬 필터링을 포기하고 작업 부하를 처리하기 위해 MongoDB에 의존하는 것이 더 합리적입니다. 몽구스와 각도와 연결

angoose

Angoose 프로젝트의 원래의 동기는 이중 모델을 선언 (서버 및 클라이언트 측) 우리는 풍부한 을 구축하는 경우 멀리하는 것입니다

더 Angular 및 node.js와 같은 현대 Javascript 프레임 워크를 사용하는 모델 기반 SPA 응용 프로그램 Javascript를 사용하는 프런트 엔드와 백엔드 모두에서 Angoose는 서버 측 모델과 서비스가 클라이언트 측에있는 것처럼 클라이언트 측에서 사용될 수있게합니다.

Angoose는 다음과 같은 프레임 워크에 따라 달라집니다 당신이 그들과 함께 기본 familarities 있다고 가정합니다 :

  • 각도 (비 각 응용 프로그램에 대한, 옵션, jQuery를 필요)
  • 을 표현

    • 몽구스

    Mongoose Api Query

    URL 매개 변수 세트를 사용하고 검색 API에서 사용할 쿼리를 구성하는 몽구스 플러그인입니다. 또한 최악의 프로젝트 이름. 당신은 API 호출에 대한 결과를 제공하기 위해 몽구스를 사용하는 경우

    , 당신이 이 같은 통화를 처리하는 데 사용할 수 있습니다

    /monsters?color=purple&eats_humans=true

    몽구스-API 쿼리는 당신을 위해 busywork의 일부를 을 처리합니다. 바닐라 개체 (예 : req.query)를 전달하고 검색어 조건은 몽구스 스키마에 따라 적절한 유형으로 캐스팅됩니다. 예를 들어 스키마에 부울을 정의한 경우 eats_humans = true를 으로 변환하여 검색을위한 부울로 만듭니다.

    더하기보다 작거나 같거나 같지 않은 보다 큰 검색 연산자가 추가됩니다 (geosearch의 경우), in 및 all. 아래에서 전체 목록을 찾을 수 있습니다.

    문자열을 검색 할 때 기본적으로 문자열은 대/소문자를 구분하지 않습니다 (부분 일치 : ). (MongoDB의에서 기본되지 않는.) 쉽게

    이 업데이트를 작성, 읽기 몽구스/노드 익스프레스 사이에 REST 인터페이스/Angular.js를 통해

    Angular Bridge

    링크 모델, AngularJS를 통해 MongoDB 콜렉션을 삭제하십시오.

    이 사용

    • 몽구스를합니다 ($ 리소스 방법) 라우팅
    • AngularJS와 대한 MongoDB를에
    • 익스프레스에 액세스하기위한