与数据库联系时出错:使用无效数据调用函数 Query.where()。不支持的字段值:自定义 U 对象

Posted

技术标签:

【中文标题】与数据库联系时出错:使用无效数据调用函数 Query.where()。不支持的字段值:自定义 U 对象【英文标题】:getting error while contacting with database: Function Query.where() called with invalid data. Unsupported field value: a custom U object 【发布时间】:2021-06-30 04:58:18 【问题描述】:

我目前正在开发一个应用程序,我刚刚开始使用搜索过滤器,但它抛出了以下错误:

Function Query.where() called with invalid data. Unsupported field value: a custom U object

这是搜索屏幕的代码

import React,  useState  from 'react';
import  View, Text, TextInput, FlatList  from 'react-native';

import firebase from 'firebase';

export default function Search() 
  const [patients, setPatients] = useState([]);

  const fetchPatients = (searchTxt) =>  
    firebase
      .firestore()
      .collection('Patients')
      .where('doctorEmail', '==', firebase.auth().currentUser.email)
      .where('patientName', '>=', searchTxt)
      .get()
      .then((snapshot) => 
        let patients = snapshot.docs.map(doc => 
          var data = doc.data()
          var id = doc.id
          return id,...data
        )
        setPatients(patients)
      )
  ;

  return (
    <View>
      <TextInput
        placeholder="Search..."
        style=padding:100,marginTop:100
        onChange=(searchTxt) => fetchPatients(searchTxt)
        console.log(patients)
      />
    </View>
  );

这是我的数据库结构

如果您对如何解决此问题有任何想法,请告诉我...任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

我认为问题在于 firebase.auth().currentUser.emailsearchText 是如何发送到查询的。

检查这个post。

【讨论】:

感谢@Huthafia Muayyad...现在工作正常 不客气!请考虑将此标记为您问题的答案,我将不胜感激:) 还想让你知道,在我用你的答案解决了这个问题后,我还必须将 onChange 属性更改为 onChangeText 才能正常工作

以上是关于与数据库联系时出错:使用无效数据调用函数 Query.where()。不支持的字段值:自定义 U 对象的主要内容,如果未能解决你的问题,请参考以下文章

oracle 自定义函数,调用时报“程序包或函数无效”

“无效的钩子调用。只能在函数组件的主体内部调用钩子。”组件库链接到主 React 应用程序时出错 [关闭]

保存数据时出错,数据无效

使用omnipay 通过securepay 处理时出现无效指纹异常

用Excel使用VBA时显示运行错误5,错误调用参数,程序特别简单,如图,求问哪里出错了

调用合约方法并手动签名时出错。 SendTransaction 有效 SendRawTransaction 无效