Parse-Server LiveQuery不发送事件

问题描述 投票:0回答:1

我目前正在尝试使用iOS和Parse-Server进行实时查询。以下是我的Parse-Server设置:

...

let api = new ParseServer({
    databaseURI: databaseUri || constants.DATABASE_URI,
    cloud: process.env.CLOUD_CODE_MAIN || constants.CLOUD_CODE_MAIN,
    appId: process.env.APP_ID || constants.APP_ID,
    masterKey: process.env.MASTER_KEY || constants.MASTER_KEY,
    serverURL: process.env.SERVER_URL || constants.LOCAL_SERVER_URL,
    fileKey: process.env.FILE_KEY || constants.FILE_KEY,
    appName: process.env.APP_NAME || constants.APP_NAME,
    publicServerURL: process.env.SERVER_URL || constants.LOCAL_SERVER_URL,
    liveQuery: {
        classNames: [Parse.User]
    }
});

...

let port = process.env.PORT || 1337;

let httpServer = require('http').createServer(app);
httpServer.listen(port, function () {
    console.log('parse_server running on port ' + port + '.');
});

ParseServer.createLiveQueryServer(httpServer, {logLevel: 'VERBOSE'});

...

这是我在iOS应用程序中的代码:

let liveQueryClient = ParseLiveQuery.Client(server: "ws://serverurl/", applicationId: "appID", clientKey: "clientKey")

let query = PFUser.query()?.whereKey("objectId", equalTo: "ABC123") as! PFQuery<PFUser>

let subscription = self.liveQueryClient.subscribe(query).handle(Event.updated) { _, user in
    debugprint("\(user)")
}

在本地调试,我可以看到用户正在使用套接字进行连接,因为服务器记录:

info: Create new client: 0

当我断开连接时,服务器记录:

info: Client disconnect: 0

我的问题是每当我修改Parse Dashboard中的User对象时,nothings就会在服务器端登录,而客户端不会收到任何事件。

有没有其他方法来设置它?

感谢先进的帮助。


更新(04/27/17):

我还没有得到这个工作。我不完全确定问题是什么。我跟随了许多教程无济于事。

有谁知道User类是否无法在实时查询中使用?

ios parse-platform parse-server livequery parse-ios-sdk
1个回答
0
投票

我不确定IOS代码但是这部分例如:

liveQuery: {
    classNames: ["YourColumnNameInDatabase","AnotherColumnName"]
}

请务必检查您是否订阅了正确的类名(Db中的列名)希望这有助于...

© www.soinside.com 2019 - 2024. All rights reserved.