>  기사  >  백엔드 개발  >  Golang을 사용하여 _ID 배열로 MongoDB 문서를 검색하는 방법은 무엇입니까?

Golang을 사용하여 _ID 배열로 MongoDB 문서를 검색하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-30 12:25:03590검색

How to Retrieve MongoDB Documents by _ID Array with Golang?

Golang을 사용하여 _ID 배열로 MongoDB 문서 검색

문제:

배열을 소유하고 있습니다. MongoDB 객체 _ID를 포함합니다. 해당하는 모든 문서를 효율적으로 검색하려면 mgo 및 bson 패키지를 활용하는 쿼리를 찾습니다.

해결책:

쿼리를 구성하려면 저장된 문서를 검사하는 것부터 시작합니다. _ID. 문자열인 경우 bson.M{"_id": bson.M{"$in": ids}}를 사용한 초기 쿼리는 정확합니다.

그러나 _ID가 16진수 형식의 개체 식별자인 경우 변환이 필요합니다. 다음 단계를 따르세요.

  1. 변환된 개체 ID를 보관하기 위해 oids 배열을 초기화합니다.
  2. bson.ObjectIdHex를 사용하여 각 ID를 bson.ObjectId로 변환하면서 원래 ids 배열을 반복합니다.
  3. 원래 ID 대신 oid를 사용하도록 쿼리를 업데이트하세요.

객체 ID로 쿼리하기 위해 업데이트된 코드는 다음과 같습니다.

<code class="go">oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}</code>

다음 단계를 따르면, 지정된 _ID 배열에 해당하는 모든 MongoDB 문서를 효과적으로 검색할 수 있습니다.

위 내용은 Golang을 사용하여 _ID 배열로 MongoDB 문서를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.