如何在 back4app 解析服务器中使用两个 useParseQuery 挂钩来实现一对一聊天应用
Posted
技术标签:
【中文标题】如何在 back4app 解析服务器中使用两个 useParseQuery 挂钩来实现一对一聊天应用【英文标题】:How to use two useParseQuery hook in back4app parse server for implementing one to one chat app 【发布时间】:2021-11-04 21:33:22 【问题描述】:我正在尝试在 back4app 服务器上实现一对一聊天,但我没有找到任何博客,所以我的直觉是这样。 我在数据库中创建了一个类,其中包含从、到和消息的列。 我试图取回消息。 为此我使用 useParseQuery 钩子。我如何使用这个钩子两次,这样我就可以同时获得“来自”和“到”的消息。
const App = () =>
const parseQuery1 = new Parse.Query('Chat_message');
parseQuery1.equalTo('from','amit');
const parseQuery2 = new Parse.Query('Chat_message');
parseQuery2.equalTo('to','amit');
const
isLive,
isLoading,
isSyncing,
results,
count,
error,
reload
= useParseQuery(parseQuery2);
console.log(results)
if (isLoading)
return <ActivityIndicator />;
return (
<FlatList
data=results
renderItem=( item ) => (
<View
style=
height: 70,
flex: 1,
alignItems: 'center',
justifyContent: 'center',
>
<Text>message: item.get('messages')</Text>
</View>
)
/>
);
;
我不知道我的这种做法是否正确,有没有人可以指教或发一些博文进行一对一聊天。感谢 Stack Overflow 的好人。
【问题讨论】:
【参考方案1】:我使用了 composeQuery。 我曾尝试使用 'and' 并没有奏效,最终尝试使用 or 并且奏效了。
const parseQuery1 = new Parse.Query('Chat_message');
parseQuery1.equalTo('from','amit');
const parseQuery2 = new Parse.Query('Chat_message');
parseQuery2.equalTo('to','amit');
const composeQuery=Parse.Query.or(parseQuery2,parseQuery1)
【讨论】:
以上是关于如何在 back4app 解析服务器中使用两个 useParseQuery 挂钩来实现一对一聊天应用的主要内容,如果未能解决你的问题,请参考以下文章
back4app 解析,如何将用户对象 ID 应用到另一个类指针中
未收到在 Back4App 上解析的 Android 推送通知