MongoDB Go 드라이버를 사용한 중첩 논리 쿼리
MongoDB 쿼리에서는 문서 기반 필터링을 위해 중첩 논리 연산자(AND/OR)를 사용해야 하는 경우가 많습니다. 여러 기준에 따라. Go MongoDB 드라이버에서는 bson.D 및 bson.M 유형을 사용하여 중첩된 논리적 쿼리를 구성할 수 있습니다.
중첩된 OR/AND 쿼리 구성
중첩된 OR/AND 쿼리의 경우 bson.D 유형을 사용하여 외부 논리 연산자(예: $and)를 나타내고 bson.E 요소를 전달해야 합니다. 그것에. 각 bson.E 요소는 필드-값 쌍을 나타냅니다. 여기서 필드 이름은 논리 연산자(예: $or)일 수 있고 값은 bson.D 또는 bson.A(배열의 경우)일 수 있습니다.
중첩 OR/AND 쿼리의 예
MongoDB를 고려해보세요 쿼리:
{ "$and": { "p": 10, "$or": { "s": 30, "a": 1 } } }
MongoDB 드라이버를 사용하여 Go에서 이 쿼리를 나타내려면 다음 코드를 사용할 수 있습니다.
filter := bson.D{ {"p", 10}, {"$or", bson.A{ bson.D{{"s", 30}}, bson.D{{"a", 1}}, }}, }
이 예에서 bson.D는 외부 $를 나타냅니다. bson.A는 중첩된 $or 연산자를 나타냅니다. $or 내의 각 bson.D는 하위 쿼리를 나타냅니다.
중첩 쿼리에 bson.M 사용
bson.M 유형을 사용하여 나타낼 수도 있습니다. 중첩된 쿼리. bson.M은 필드 이름과 해당 값을 포함할 수 있는 map[string]인터페이스{}입니다. 값은 중첩된 쿼리를 나타내는 또 다른 bson.M 인스턴스일 수 있습니다.
예를 들어 위 쿼리는 다음과 같이 bson.M을 사용하여 표현할 수 있습니다.
filter := bson.M{ "p": 10, "$or": bson.A{ bson.M{"s": 30}, bson.M{"a": 1}, }, }
권장 사항
이 지침을 따르면 MongoDB 드라이버를 사용하여 Go에서 중첩된 OR/AND 쿼리를 효율적으로 생성할 수 있습니다.
위 내용은 MongoDB Go 드라이버를 사용하여 중첩된 OR/AND 쿼리를 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!