问题标签 [parse-live-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
145 浏览

parse-platform - 在客户端在 LiveQuery 上接收之前修改对象

我试图在我的云代码中隐藏一些字段,用于在 afterFind 触发器中将阻塞值设置为默认数字的类。

它工作正常,但是当我在更新事件中使用 LiveQuery 订阅这个类时,我可以在我的控制台中看到所有字段。

有没有办法修改/阻止 LiveQuery 事件中的字段?

编辑:

我正在尝试实现 protectedFields 但它给出了相同的响应

} });

实时查询:

类别是一个指针

当我记录 LiveQuery 的结果时,它也会提示受保护的字段。

和 beforeFind for Question 类

查询示例 在此处输入图像描述

0 投票
1 回答
75 浏览

flutter - 在 parse_server_sdk_flutter 中使用 LiveQuery 时显示 ReSubScription 的终端:{}

我遵循了文档中的所有步骤,但是这个函数永远不会被调用:

我在终端收到的只是:“ReSubScription:{}”。
当我在数据库中的一个类获得新记录/条目时,我试图捕获该事件。如果需要,我可以安排一个演示代码库,但请帮助我完成这个。

PS:我在有状态小部件的 initState() 方法中调用此 subscription.on() 方法,而不是在 main() 中。

更新
我正在共享一个最小应用程序的 git repo 链接以演示我所做的事情。这是链接

请看看我在 livequery 上做错了什么。将不胜感激任何指针/指导。

更新 2
请注意,我已经硬编码了 adminId(登录的管理员的 objectId)。请检查 TODO。

我的测试程序:

  1. 使用 Parse Dashboard 从后端数据库手动创建用户。请保留用户名 = 电子邮件。
  2. 打开应用程序。单击管理按钮。转到 AdminLogin 页面并输入您的电子邮件和密码。
  3. 如果您成功,应用程序将导航到下一个白屏。这确认身份验证已成功完成。
  4. 再次打开应用程序。单击用户按钮。转到用户窗体。
  5. 输入姓名并点击订阅者按钮。这将在数​​据库中创建一个名为“Subscribers”的新类,并添加列“adminId”和“name”(请在您已经知道的代码中硬编码 adminId)
  6. 现在再次打开应用程序并转到管理员并再次登录以移动到控制面板(白屏)。
  7. 等待 back4app 发送触发/回调。(显示 ReSubScription:{})。
0 投票
1 回答
34 浏览

javascript - livequeries 不会使用 paresplattform 更新我的值

我正在使用 parse.js 和 Vue.js 构建一个 SPA,并使用此类查询从我的数据库中提取内容。

这工作正常,但除非我更新页面,否则当数据库发生更改时我的数据不会自动更新。我想这是livequeries为了什么?

我尝试订阅,但这没有用:

我是否误解了实时查询的概念?或者我可以在数据库更新后立即更新我的数据吗?

对于根据数据库中的更改在前端获取我的数据以更新的方法的任何帮助都将非常感激!

0 投票
1 回答
105 浏览

swift - IOS Parse LiveQuery:错误处理消息:可选(POSIXErrorCode:软件导致连接中止)

我在 SwiftUI 中开发了一个应用程序,我还使用 Parse LiveQuery 聊天。聊天实时完美运行,直到应用程序进入后台或手机屏幕关闭。如果我收到新消息的通知并从通知中打开应用程序,则 LiveQuery 停止工作并收到错误消息:“解析 LiveQuery:错误处理消息:可选(POSIXErrorCode:软件导致连接中止)”

我注册了 Message 类

在 ChatView 上,我有 .onReceive,我在其中启动聊天和 liveQuery 功能

函数 StartMessagesLiveQuery 是:

唯一的问题是从通知打开应用程序时。

我有什么方法可以强制 ParseLiveQuery 重新连接?

错误堆栈:

在此之后,网络连接恢复并且应用程序正常运行,只有 LiveQuery 不工作。

0 投票
1 回答
56 浏览

php - 在 Parseplatform 中配置 LiveQuery 的问题

您好,我已经在我的 Linux Centos 服务器上安装了 Parse 服务器并为 php 解析 sdk。解析仪表板:1.3.3,服务器版本:4.3.0 我正在使用 php 代码管理这些数据库。此解析器是由其他人安装的。问题是我不确定如何为我的服务器安装 LiveQuery。我不知道我的服务器版本是否适合这种操作。我找到了一些解决方案如何启用此功能,但有类似“index.js”的东西 - 在我的文件系统中它是 app.js。文件系统屏幕 在 app.js 中,我添加了以下几行:

我在我的数据库中创建了名为“Test”的类,然后我找到了我需要添加这一行的解决方案

我真的不知道如何获得这把钥匙。

如何检查 LiveQuery 是否有效?颤振代码将使用它,但我想先在 PHP 中检查它。

0 投票
1 回答
121 浏览

apache - 在 Apache 403 错误上解析服务器实时查询 Wss 连接

我一直在努力让解析服务器实时查询工作一周,无论我做什么,我都无法让 apache 让 wss:// 连接通过。

我正在使用在 linux/apache ec2 实例上设置解析服务器和仪表板的 bitnami ami。

我需要这个在 https/wss 上工作,并尝试了 2 个不同的方向。

第一种是直接将域指向实例 IP,并使用内置的让加密工具 bitnami 包到 ami 中来创建 ssl 证书。我认为这种方式绕过了 AWS 负载均衡器和通过其证书管理器颁发的证书的任何潜在问题。我可以通过 https 连接一切,但 wss 连接总是被阻止。

我尝试的第二种方法是将域指向负载均衡器并使用来自 aws 证书管理器的证书。我想我无法直接进入实例,所以我不妨试一试。不,同样的事情。

在我的解析日志中,它说实时查询服务器已经启动,它记录在 onListen 事件中,所以我认为这不是解析实时查询服务器本身的问题,而是它必须是某种 apache 问题,我无论如何,我都不是 apache 大师。

ami 已经启用了 proxy_wstunnel_module 并且正在为 http 使用反向代理。我尝试将以下的多种变体添加到 httpd.config 但我所做的任何事情似乎都没有任何效果:

在这个特定方面的文档充其量是稀缺的,我能找到的是 nginx,而不是 apache。

我还没有尝试过的一件事是使用 redis 单独运行实时查询服务器,但我想如果我不能让这个更简单的设置正常工作,那么即使考虑进入那个潜在的兔子洞也是没有意义的。

Parse 非常适合我需要构建的东西,因为我不能使用 Firebase,但我必须让实时查询服务器在 wss 上安全地工作才能使用它,所以我现在几乎被卡住了。

任何人都有过让这个工作的经验,或者对如何尝试通过 wss 进行连接有任何想法?

0 投票
0 回答
69 浏览

java - 如何使用自托管服务器 URL 使用 Android (Java) 设置 Parse 实时查询

我正在尝试按照这个 back4app 指南在 Android Studio 中使用 Parse 实时查询。我按照指南中的步骤 1 和 2 启用了实时查询并设置了 LiveQuery 客户端。但是,我在第 3 步(订阅查询)时遇到了问题。这是我尝试过的:

适当地替换应用程序 ID、客户端密钥和子域。但这导致了一个错误:java.net.MalformedURLException: unknown protocol: wss我无法创建 Parse 应用程序。我尝试在服务器 URL 中替换wss://为。https://应用程序运行,但每个 Parse SDK 请求都返回error: unauthorized。在更改服务器 URL 之前,我一直在使用"https://parseapi.back4app.com"并且一切正常。我不确定如何解决此问题 - 任何帮助将不胜感激。谢谢。

0 投票
2 回答
88 浏览

parse-platform - 如果没有提供 ParseConnectivityProvider,LiveQuery 不起作用

为此绞尽脑汁。

我无法解决这个问题,我的代码产生了这个错误:

LiveQuery does not work, if there is no ParseConnectivityProvider provided.

我尝试使用 liveQueryURL 并没有运气。颤振文档没有关于如何从服务器实现此 url 的具体示例。我从 javaScript 视频和文档中假设这是我创建的自定义子域,例如 customdomain.b4a.io,它使最终 url 为“wss://customdomain.b4a.io”。

我查看了 Parse().initialize 的“connectivityProvider:”arg,但没有发现任何具体的实现方法。

这只是一个飞镖演示项目。非常感谢任何帮助或想法!

编辑:这篇文章根本没有解决我的问题。它也很老了。

这是否可能因为这是一个飞镖程序而不是颤振而不起作用?没想到会是这样……

代码:

0 投票
0 回答
24 浏览

javascript - 实时查询没有响应使用 Parse 平台运行 Quasar (vue)

我有一个在数字海洋上运行的解析服务器,它与我的quasar框架相连。

我试图让我的实时查询在我的解析服务器上工作。这就是我所做的:

  1. ssh 进入数字海洋,并在我的 docker 文件中添加了 livequery 类:

    - PARSE_SERVER_LIVE_QUERY={"classNames":["MyClass"]}

  2. 如下创建订阅。订阅会在打开时按原样打印,但是当我在解析服务器中手动编辑某些内容时,控制台中不会打印任何内容。我希望它应该在每次数据库发生变化时打印出来。

我究竟做错了什么?

我有这个指南作为参考

0 投票
0 回答
32 浏览

android - 解析实时查询事件处理延迟

我在我的 android 应用程序中集成了解析实时查询。我能够通过简单的查询获取数据,但在实时查询中,onEvent 处理程序仅在通过解析仪表板更改记录后 11 分钟后才触发。这是我的代码: