> 백엔드 개발 > Golang > App Engine Datastore에서 접두사가 일치하는 이름을 가진 항목을 쿼리할 수 있나요?

App Engine Datastore에서 접두사가 일치하는 이름을 가진 항목을 쿼리할 수 있나요?

DDD
풀어 주다: 2024-10-24 07:08:02
원래의
1051명이 탐색했습니다.

Is it Possible to Query for Entities with Prefix-Matched Names in App Engine Datastore?

Google App Engine Datastore에서 이름이 앞에 붙은 항목 검색

질문:

맞나요? 특정 필드가 특정 문자열로 시작하는 데이터 저장소에서 항목을 검색하는 것이 가능합니까? 다음 쿼리를 시도했지만 원하는 결과를 얻을 수 없습니다.

q = datastore.NewQuery("Places").Filter("Name >", "a")
로그인 후 복사

답변:

필드 접두사를 기반으로 항목을 쿼리하는 것은 실제로 Datastore에서 지원됩니다. 이지만 두 개의 불일치 필터를 결합해야 합니다.

예를 들어 이름이 "li"로 시작하는 장소를 검색하려면 쿼리에서 이름 필드가 "li"보다 크거나 같음을 지정해야 합니다. "lj"보다 작습니다. 이는 "lj"가 사전순으로 이어지는 접두사이기 때문입니다.

GQL에서 이 쿼리는 다음과 같이 나타납니다.

SELECT * FROM Places WHERE Name > 'li' AND Name < 'lj'
로그인 후 복사

Go 코드에서 쿼리는 다음 형식을 취합니다.

q = datastore.NewQuery("Places").Filter("Name >", "li").Filter("Name <", "lj")
로그인 후 복사

이 쿼리는 다음과 같은 이름을 가진 장소를 생성합니다.

liam
lisotto
lizst
로그인 후 복사

그러나 다음과 유사한 이름은 제외됩니다.

abc
ljoi
lj
qwerty
로그인 후 복사

대문자와 소문자는 서로 다른 사전식을 가지고 있습니다. 명령. 따라서 "List"는 "li" 앞에 오고 "list"는 "li" 뒤에 옵니다.

위 내용은 App Engine Datastore에서 접두사가 일치하는 이름을 가진 항목을 쿼리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿