与数据库联系时出错:使用无效数据调用函数 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.email
和searchText
是如何发送到查询的。
检查这个post。
【讨论】:
感谢@Huthafia Muayyad...现在工作正常 不客气!请考虑将此标记为您问题的答案,我将不胜感激:) 还想让你知道,在我用你的答案解决了这个问题后,我还必须将 onChange 属性更改为 onChangeText 才能正常工作以上是关于与数据库联系时出错:使用无效数据调用函数 Query.where()。不支持的字段值:自定义 U 对象的主要内容,如果未能解决你的问题,请参考以下文章
“无效的钩子调用。只能在函数组件的主体内部调用钩子。”组件库链接到主 React 应用程序时出错 [关闭]
使用omnipay 通过securepay 处理时出现无效指纹异常