2011-12-02 5 views
0
{ 
    "_id": ObjectId("4ed8d496c605da94400001e4"), 
    "status": 1, 
    "user": { 
    "uid": 1 
    }, 
    "nid": 10582, 
    "form": { 
    "your-name": "Bob Smith", 
    "description": "", 
    "photo": "", 
    "address": "123 Turk Hill Rd", 
    "city": "", 
    "zip": "14450" 
    }, 
    "location": { 
    "address": "123 Turk Hill Rd", 
    "city": "", 
    "zip": "14450", 
    "geo_lat": 43.0329181, 
    "geo_lng": -77.4391148, 
    "address_confirmed": "123 Turk Hill Rd, Victor, NY 14564, USA", 
    "address_status": 200, 
    "accuracy": 8 
    }, 
    "keywords": { 
    "0": "bob", 
    "1": "smith", 
    "2": "", 
    "4": "123", 
    "5": "turk", 
    "6": "hill", 
    "7": "rd", 
    "9": "14450" 
    }, 
    "time": ISODate("2011-12-02T13: 37: 26.0Z") 

검색 작업을하지으로 검색 전혀!몽고 키워드

내가 뭘 잘못하고 있니?

답변

3

답변은 간단합니다 : 키워드가 배열이 아니기 때문입니다. 키워드를 검색하려면 다음과 같이 문서 구조를 변경해야합니다.

{ 
... 
"keywords": [ 
    "bob", 
    "smith", 
    "123", 
    "turk", 
    "hill", 
    "rd", 
    "14450" 
    ], 
... 
} 

일반적으로 드라이버를 직렬화 할 때 발생합니다. 현재로서는 그러한 구조를 검색 할 수있는 방법이 없습니다. 사전 대신 사전을 사용하십시오. 또는 문서를 직렬화하기 전에 사전을 배열로 변환하고 그 반대의 경우 문서를 직렬화 해제 할 수 있습니다.

+0

전화하세요. –