小编Oli*_*via的帖子

Firebase 查询“IN”限制为 10 是否有解决方法?

我有一个对 Firebase 的查询,其中包含一个大小 > 10 的 ID 数组。 Firebase 对一个会话中要查询的记录数有限制。有没有办法一次查询超过 10 个?

[未处理的承诺拒绝:FirebaseError:无效查询。'in' 过滤器支持值数组中最多 10 个元素。]

https://cloud.google.com/firestore/docs/query-data/queries

在此处输入图片说明

  let query = config.db
    .collection(USER_COLLECTION_NAME)
    .where("id", "in", matchesIdArray);
  const users = await query.get();
Run Code Online (Sandbox Code Playgroud)

(matchesIdArray.length 需要是无限的)

firebase react-native google-cloud-firestore

23
推荐指数
4
解决办法
8213
查看次数

Firebase 用户配置文件添加自定义字段

是否可以将自定义字段添加到 Firebase 中的用户配置文件表?

现在看起来我只能将数据添加到:

  • “uid”
  • “显示名称”
  • “照片网址”
  • “电子邮件”
  • “电子邮件已验证”
  • “电话号码”
  • “是匿名的”
  • “租户ID”
  • “提供者数据”:
  • “API密钥”
  • “应用名称”
  • “身份验证域”
  • “stsTokenManager”
  • “重定向事件ID”
  • “上次登录时间”
  • “创建于”

我希望能够将自定义对象添加到 JSON 字符串以包含所有用户数据。

https://firebase.google.com/docs/auth/web/manage-users

javascript firebase firebase-authentication react-native-firebase

10
推荐指数
1
解决办法
9854
查看次数

react-native-image-picker vs expo ImagePicker

我尝试了很多尝试来启动 react-native-image-picker 并使用我的 RN 应用程序。我正在使用 Expo 和 VS Code,并且没有使用 Xcode 或 Android Studio 运行该应用程序。在应用程序中获取相机胶卷的方法似乎有很多,我不确定哪条路是最好的。似乎没有人为我工作,所以我想选择最佳路径并专注于使那条路径有效。

我正在关注文档:https : //github.com/react-native-community/react-native-image-picker

我尝试过的事情:

  • 反应原生相机胶卷
  • 世博图像选择器
  • 博览会图片选择器
  • react-native-image-picker
  • 反应图像上传
  • 反应原生照片上传

我的代码:

import React, {useState, useEffect} from 'react';
import {StyleSheet, View, TextInput, TouchableOpacity, Text, CameraRoll } from 'react-native'
import ImagePicker from 'react-native-image-picker';
// import * as ImagePicker from 'expo-image-picker';
import Constants from 'expo-constants';

const PicturesScreen = ({navigation}) => {
    const [pictures, setPictures] = useState([]);

getPermissionAsync = async () => {
    if (Constants.platform.ios) {
      const { status …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-camera expo react-native-image-picker

7
推荐指数
1
解决办法
8701
查看次数

Firestore 查询比较两个没有数组包含的数组

是否可以在没有“array-contains”的情况下比较 Firestore 查询中的两个数组?

像这样的东西:

    query = query.where(
       "info.currentLocation",
       "==",
       currentUserBasicInfo.currentLocation
    );
Run Code Online (Sandbox Code Playgroud)

info.currentLocationcurrentUserBasicInfo.currentLocation都是具有映射值的数组。我无法更改数据结构,并且查询中已经有“数组包含”。因为两个数组必须相同才能运行,所以我觉得必须有一种方法可以比较两个数组,而不必使用“array-contains”或“array-contains-any”或“IN”。

有什么建议么?这可能吗?

firebase react-native google-cloud-firestore

7
推荐指数
1
解决办法
2787
查看次数

Google Play 商店内部测试链接无效

这是我第一次上传到 Google Play 商店,我不确定是我做错了什么还是读错了,但我上传了我的 APK 并邀请了我的测试用户,一切似乎都给了我绿灯(见下图)但是当我复制 URL 并将其发送给我的测试用户时,它只是加载和加载。

然后我尝试创建一个封闭测试,它正在审查中,现在链接说“我们很抱歉在此服务器上找不到请求的 URL”。

如您所见,距离我提交给内部测试人员已经过去了大约 48 小时。封闭测试是否会导致内部测试 URL 出现问题?为什么内部测试会继续加载?我的测试用户是否应该收到带有适当 URL 的电子邮件?

在此处输入图片说明

android google-play google-play-services google-play-console

5
推荐指数
1
解决办法
699
查看次数

从 Firebase Firestore 异步返回数据

我有两种方法:

//authContext.js
const getAllUserData = (dispatch) => { 
    return async (userId)=>{
    try{
        const response = await config.grabUserData(userId);
        console.log('should be an array of user data: ' + response + ', ' + JSON.stringify(response)); //should be an array of user data: undefined, undefined
        for(ud in response){
            await AsyncStorage.setItem('' + ud, '' + response[ud]);
            dispatch({type: 'user_data', payload: response});
        }
    } catch(e){
        dispatch({type: 'add_error', payload: '' + e});
    }
    return dispatch;
    }
};
Run Code Online (Sandbox Code Playgroud)

//config.js 
grabUserData = async (userId) => {
    var db = …
Run Code Online (Sandbox Code Playgroud)

javascript async-await firebase react-native google-cloud-firestore

3
推荐指数
1
解决办法
2328
查看次数

Firebase 限制每个查询一个“array-contains-any” - 如果我需要多个,该怎么办?

就像问题所述,Firebase 只允许每个查询一个 array-contains-any ( https://firebase.google.com/docs/firestore/query-data/queries )。

当有人需要复杂的查询时会发生什么?我的查询需要大约 10 个.where(),其中有 4 个子句。array-contains-any是否有解决方法,或者我是否必须从第一次获取结果array-contains-any,然后一次又一次地标注?看起来很费力而且没有必要。

var usersMatchesCollection = config.db.collection("Users");
var currentUserMatchesAllData = usersMatchesCollection.where('preferences.lookingFor', 'array-contains-any', docDataPreferences.lookingFor)
.where('info.identifyAs', '==', docDataPreferences.prefIdentifyAs)
.where('info.languages', 'array-contains-any', docDataPreferences.prefLanguages) 
.where('age', 'array-contains-any', docDataPreferences.ageRange) 
.where('profession', 'array-contains-any', docDataPreferences.prefProfession) 
.where('education', '==', docDataPreferences.prefEducation) 
.where('kids', '==', docDataPreferences.prefKids) 
.where('married', '==', docDataPreferences.prefMarried) 
.where('drinking', '==', docDataPreferences.prefDrinking) 
.where('smokingCig', '==', docDataPreferences.prefSmokingCig) 
await currentUserMatchesAllData.get().then( function (matchesQuerySnapshot) {
  matchesQuerySnapshot.forEach(function(doc) {
      console.log('doc data: ' + JSON.stringify(doc.data().id));
  })
})
Run Code Online (Sandbox Code Playgroud)

firebase react-native google-cloud-firestore

3
推荐指数
1
解决办法
1589
查看次数

使用 createBottomTabNavigator 时是否可以从第二个选项卡开始?

我想让我的选项卡导航器在视觉上保持以下顺序:“主页”选项卡、“连接”选项卡、“聊天”选项卡

但我希望“连接”选项卡(第二个选项卡)成为应用程序加载时打开的第一个选项卡。我没有找到一种方法可以将其添加到堆栈导航器而不重新排列选项卡的顺序。除了第一个具有以下结构的选项卡之外,是否还有另一种方法可以定位选项卡:

const switchNavigator = createSwitchNavigator({
  LoadingScreen,
  FirstLoginScreen,
  loginFlow: createStackNavigator({
    Main: MainScreen,
    EmailLogin: EmailLoginScreen,
    PhoneLogin: RegisterScreens,
  }),
  mainFlow: createBottomTabNavigator(
    {
      Home: createStackNavigator({
        HomeScreen,
        EditAccountScreen,
        EditPreferencesScreen,
        EditProfileScreen,
        ProfileCardScreen,
      }),
      Connect: ConnectionsScreen,
      Chat: createStackNavigator({
        AllChatScreen,
        SingleChat,
      })
    },
    {
      defaultNavigationOptions: ({navigation}) => ({
        tabBarIcon: ({tintColor}) => {
          const {routeName} = navigation.state;
          if (routeName === "Home") {
            return <MaterialIcons name={"home"} size={20} color={tintColor} />;
          } else if (routeName === "Connect") {
            return <MaterialIcons name={"link"} size={20} color={tintColor} />;
          } else if (routeName === "Chat") { …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-navigation stack-navigator react-navigation-bottom-tab

1
推荐指数
1
解决办法
593
查看次数

Firebase 删除数组项

我想从 Firestore 中的数组中删除一个值。我正在使用 firebase 函数并在删除用户后更新此字段。我尝试过更新数组,尝试过 arrayRemove 以及其他各种行。因为每次我想运行测试时都必须进行部署,所以它很耗时,而且每次都很难构建和删除数据。

所以我希望有人可以帮助我在这里找到这个解决方案:

我想遍历一个 ID 列表(数据库中的用户)并提取他们的匹配项,并从他们的匹配项列表中删除一个特定的 ID。

当我运行它时,它不知道是什么firebase.firestore。所以我不确定如何使用这种类型的FieldValue.delete(). 这部分的目标是什么?“admin.FieldValue.delete()”?

admin.firestore()
.collection("Users")
.doc(matches[i])
.update({
  [userId]: firebase.firestore.FieldValue.delete(),
});
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

admin
.firestore()
.collection("Users")
.doc(matches[i])
.update({
  matches: admin.firebase.firestore.FieldValue.arrayRemove(userId),
});
Run Code Online (Sandbox Code Playgroud)

但它又不知道是什么firebase.firestore。从数组中删除一个值的正确方法是什么?

另外,我担心在 for 循环中进行标注,但我没有找到解决方法。有没有人有什么建议?这些不需要是异步的,因为所有事务都不相互依赖。

我在 firebase 函数中收到的错误消息:

ReferenceError:firebase 未定义

javascript firebase firebase-admin google-cloud-firestore

1
推荐指数
1
解决办法
326
查看次数

@react-navigation/native 升级到 V5 SyntaxError

我在将 react-navigation 从 v3 升级到 v5 时遇到了一些麻烦。我一直遇到这个错误,起初我认为这是一个错误,但我没有在网上找到任何其他关于它的投诉。为了 100% 确定旧版本没有引起任何问题,我完全卸载了所有 react-navigation 并从头开始使用 v5。我仍然收到索引文件错误。它似乎不理解打字稿......这是一个已知的错误吗?关于安装 Typescript 的文档中没有我需要采取的另一个步骤吗?

更新:./types 文件没有正确编译...它似乎无法识别 NavigationState 或 ActionHelpers...这是一个错误吗?有没有人见过这个?

更新 2 我在 RN V0.59 上运行,所以我认为可能存在依赖性问题。我正在升级到 V0.62.2,看看问题是否仍然存在

在此处输入图片说明

https://reactnavigation.org/docs/getting-started

在此处输入图片说明

语法错误:/Users/myusername/myprojectname/node_modules/@react-navigation/stack/src/index.tsx:意外令牌 (51:12)

49 | * 类型 50 | */

51 | 导出类型 { | ^ 52 | 堆栈导航选项,53 | StackNavigationProp, 54 | StackHeaderProps,

javascript typescript react-native react-navigation react-navigation-v5

0
推荐指数
1
解决办法
2025
查看次数