"firebase.firestore().collection().where(_, _, *) 'value'는 유효한 필터가 아닙니다. 'not-in' 필터는 값 배열에서 최대 10개의 요소를 지원합니다."
P粉833546953
2023-09-04 22:44:17
<p>firebase.firestore().collection().where(_, _, *)“值”无效。 “not-in”过滤器支持值数组中最多包含 10만 원。</p>
<pre class="brush:php;toolbar:false;">un언어s = firestore()
.collection("사용자")
--> .where("id", "not-in", [...passedUserIds, ...smashesUserIds])
.onSnapshot(async querySnapshot => {
if (querySnapshot?.docs?.length > 0) {
dondur2 = querySnapshot을 기다리나요?.docs
.filter((doc) => doc.id != user.uid)
.filter((doc) => doc._data.gender !=loggedInProfile.gender)
.filter((doc) => doc._data.age <= `${value[1]}`)
.filter((doc) => doc._data.age >= `${value[0]}`)
.filter((doc) =>
doc._data.랭귀지[0] == 언어 ||
doc._data.언어s[1] == 언어 ||
doc._data.언어[2] == 언어 ||
doc._data.언어s[3] == 언어 ||
doc._data.언어[4] == 언어 ||
doc._data.랭귀지[5] == 언어 ||
doc._data.언어[6] == 언어 ||
doc._data.언어[7] == 언어
)
.map((doc) => ({ id: doc.id, ...doc.data() }))
setProfiles(dondur2)
}
})</pre>
<p>여기서 나가서 'ids'를 10만 개나 사용하고 있나요? 저는 이 제품을 사용하고 있습니다.</p>
이 문장의 번역은 다음과 같습니다:
으아악배열에 10개 이상의 요소가 있을 가능성이 높습니다.
[...passedUserIds, ...smashesUserIds]
이것은 Firestore 제한사항입니다. 이 제한을 해결하는 유일한 방법은 데이터 모델을 조정하거나 배열의 요소 수를 줄이는 방법을 찾는 것입니다. 데이터의 실제 사례를 확인하지 않고는 추가 조언을 제공하기가 어렵습니다.