2014-09-04 2 views
0

동적 데이터 분석을 수행하기 위해 mongoDB 컬렉션에 mongoDB 선택기를 저장하려고합니다. 그러나 나는 그런 다음 (유성/자바 스크립트에서 RAN) 등 $ -prefixed 표현을 포함하여 더 복잡한 선택기, 저장하려고하면Meteor를 사용하여 mongoDB에 mongoDB 선택기를 저장하는 방법

filterBy: 
    foo: 
    $ne: "bar" 

나는이 오류가 발생합니다 :

key $ne must not start with '$' 

이 거기를 a proper mongoDB 셀렉터를 저장하는 방법 또는 객체의 모든 $을 바꾸고 바꾸기위한 로직을 만들어야합니까?

+0

중복 가능성 [에서 개체를 저장하는 방법 $로 시작하는 키가있는 MongoDB] (http://stackoverflow.com/questions/12739793/how-to-store-an-object-in-mongodb-that-has-a-key-that-starts-with) – itsmatt

+0

예, 당신 말이 맞아요. 나는 지금 그것을 표시했다. 문구가 나에게 너무 다르므로 찾아 낼 수는 없지만 기본적으로 동일합니다. –

답변

0

위에서 언급 한 것처럼 질문은 일반 목적으로 been answered입니다. 여기서 유성 별 솔루션에 대해 간략히 설명하겠습니다. 그것을 다시 변환하는 나는 정기적 transform을 사용하여 다음

FilterCollection.before.insert (userId, doc) -> 
    if doc.filterBy? 
    doc.filterBy = JSON.stringify doc.filterBy 

과 :

Meteor Collection Hooks를 사용하여 내가 저장시 자동 변환을 추가

FilterCollection = new Meteor.Collection "filters", 
    transform: (document) -> 
    if document.filterBy? 
     document.filterBy = JSON.parse document.filterBy 
관련 문제