【问题标题】:Parse live query not working?解析实时查询不起作用?
【发布时间】:2018-06-16 01:08:16
【问题描述】:

我尝试设置解析实时查询,但由于某种原因它没有返回任何结果。

我可以从中提取数据,所以我知道服务器和数据库运行良好。

当我在 localhost 上运行时,“打开”连接有效,但即便如此,订阅事件也不会被调用。

客户

var Parse = require('parse/node');

Parse.initialize("key", "", "pass");
Parse.serverURL = parseServer;
Parse.liveQueryServerURL = 'ws://localhost:1337/';


let query = new Parse.Query('groups');
query.equalTo('name', 'name');
let subscription = query.subscribe();


subscription.on('update', (people) => {
    console.log("YEAY");
  // console.log(people.get('score')); // This should output 100
});

subscription.on('open', () => {
    console.log('subscription opened');
});

服务器

var app = new ParseServer({
startLiveQueryServer: true,
  liveQuery: {
    classNames: ["groups", "comments"] // List of classes to support for query subscriptions
  },
..}

var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

// This will enable the Live Query real-time server
var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer);

【问题讨论】:

  • 奇数选择表达式:query.equalTo('name', 'name');您可能会尝试使用第二个客户端提交有效查询(正常异步响应)以检查正常客户端是否获得结果集 sz > 0
  • 哈哈是的。知道为什么这不起作用吗?我在弹性豆茎上跑步。我什至在我的 .ebextension nginx.com/blog/websocket-nginx 中添加了 nginx 文件
  • @RobertRowntree 是的,我可以确认正常查询工作。只是没有调用订阅:/
  • 如果let 导致订阅范围问题怎么办。哪里的事件只在Client.js 中被调用或者这无关紧要?
  • @Alex 拿出来了,还是不行:/

标签: javascript parse-platform


【解决方案1】:

您可以尝试更改此设置

let subscription = query.subscribe();

到这里

let subscription = await query.subscribe();

希望对你有帮助。

【讨论】:

  • 你找到解决办法了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多