2017-11-09 14 views
2

unknown operator: $or 오류가 발생하며 그 이유를 알 수 없습니다.

vc := &storers.VCategory{} 

err = mndb. 
    C("virtualcategoryprototypes"). 
    Find(bson.M{ 
     "children": nil, 
     "deleted_by": nil, 
     "indexCycleNo": bson.M{"$or": []bson.M{ 
      bson.M{"$exists": false}, 
      bson.M{"$lt": cycle}}}}). 
    One(vc) 

답변

4

$or 식 자신에 유효한 다른 일련의 조건 (어레이) (그리고 논리적 OR 접속하여 평가 될 것이다), 그리고 $or 식의 결과는 논리적 AND 관련 것 같은 수준의 다른 조건으로

그래서 당신은, 그 값이 사건 indexCycleNo: {$exists: false}indexCycleNo: {$lt: cycle}에있을 것 슬라이스 또는 배열하고, $or의 요소해야 한 단계를 $or 운영자를 이동해야 :

err = mndb. 
    C("virtualcategoryprototypes"). 
    Find(bson.M{ 
     "children": nil, 
     "deleted_by": nil, 
     "$or": []bson.M{ 
      {"indexCycleNo": bson.M{"$exists": false}}, 
      {"indexCycleNo": bson.M{"$lt": cycle}}, 
     }, 
    }). 
    One(vc) 
+0

이러한 간단한 오류 및 나는 여기서 3 시간 이상을 알아 내려고 노력하고있다. 고맙습니다. – Lupus