php 편집기 Xigua에서는 Mongodb용 고유한 쌍 인덱스를 만드는 방법을 소개합니다. Mongodb는 비관계형 데이터베이스이며 쌍 인덱스는 컬렉션에 있는 문서 쌍의 고유성을 보장하는 데 사용되는 특수 인덱스 유형입니다. 고유한 쌍 인덱스를 생성하려면 Mongodb의 createIndex 메소드를 사용하고 인덱스 필드와 고유성 옵션을 지정해야 합니다. 인덱스를 올바르게 설정하면 중복 데이터 삽입을 효과적으로 방지하고 데이터 일관성과 정확성을 향상시킬 수 있습니다. 다음으로 구체적인 단계를 살펴보겠습니다!
mongodb를 사용하고 있는데 2개 필드에서 고유한 쌍을 만들고 싶습니다.
지금까지 내가 한 일은 다음과 같습니다.
으아아아그런데 이렇게 레코드 2개를 삽입하면
으아아아데이터베이스에 단 1개의 레코드만
으아아아두 번째가 첫 번째를 덮었습니다
아래는 레코드 삽입을 위한 샘플 코드입니다
func (repository *translationrepository) createindexes(collection *mongo.collection) error { models := []mongo.indexmodel{ { keys: bson.d{{"object_id", 1}, {"object_type", 1}}, options: options.index().setunique(true), }, { keys: bson.d{{"expire_at", 1}}, options: options.index().setexpireafterseconds(0), }, } opts := options.createindexes().setmaxtime(10 * time.second) _, err := collection.indexes().createmany(context.background(), models, opts) return err }
귀하의 시나리오를 관리해야 합니다. 제가 성취한 것을 보여주기 위해 간단한 프로그램을 공유하겠습니다.
으아아아이제 모든 주요 단계를 살펴보겠습니다.
object
结构的定义,这是您需要的简化版本。请注意实际使用的 bson
注释。为了这个演示,您可以安全地省略 json
. demodb
的数据库和名为 mycollection
인 컬렉션을 만듭니다. 또한 프로그램을 종료할 때 이를 삭제하라는 호출을 연기합니다(단지 정리를 위해). object_id
和 object_type
上创建唯一复合索引。请注意 options
字段,该字段使用 setunique
방식으로 인덱스의 고유성을 선언합니다. 이 데모가 귀하의 질문에 대한 답변이 되었기를 바랍니다. 알려주시면 감사하겠습니다!
위 내용은 Mongodb에 대한 고유 쌍 인덱스를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!