2013-09-27 2 views
5

MongoDB에서 $substr 명령을 사용하여 집계 파이프 라인 쿼리를 작성하고 있지만 다른 유형의 값이 포함되어 있으므로 mgo 드라이버와 함께 Go에서 필요한 배열을 나타내는 방법을 모르겠습니다. (문자열, int). 여기 혼합형 배열을 나타내는 방법

자바 스크립트에서 쿼리입니다 :

[ {$group: {"_id": {"dt": {"$substr": ["$dt",0,6]}}}} ] 

이것이 인덱스 6.

를 인덱스 0을 시작 및 종료와 함께 (집계의 이전 단계에서) dt의 문자열을 얻을 수있다 할 노력하고있다

[]bson.M{"$group": bson.M{"_id": bson.M{"dt": bson.M{"$substr": ["$dt",0,6]}}}}} 

하지만 ["$dt",0,6]가 올바른 표현하지 내가 시도 다 실패 할 것 같다 이동에

은 내가 얻었다.

+0

얻은 데이터에 혼합 된 유형이 포함되어 있다면 일반적으로 구조체를 롤아웃하는 것이 좋습니다. 이렇게하면 유형 안전이 보장되고 다른 사람들이 코드를 더 쉽게 이해할 수 있습니다. – fuz

답변

10

입력 []interface{}의 조각을 사용하여이 값을 나타낼 수있는 것은 : 당신이 조금 더러운 구문을 찾을 경우

l := []interface{}{"$dt", 0, 6} 

, 당신은 쉽게 보이게하기 위해 로컬 유형을 정의 할 수 있습니다 좋네요 :

type list []interface{} 
    l := list{"$dt", 0, 6} 
관련 문제