有没有一种方法可以在不向 REST API 发出 HTTP 请求的情况下保存 ParseObject?
Is there a way to save ParseObject without make a HTTP request to the REST API?
我没有找到太多关于这个主题的信息,所以我想知道这是一项容易实现的任务,还是实际上不可能实现的。我的问题是我的服务器上有很多 HTTP 请求,即使只调用一次 Cloud 函数也是如此。所以我假设所有 object 更新/保存/查询都是使用 REST API 进行的。我有很多 HTTP 请求,有数百个请求超时,我想是因为它产生的巨大流量。
有没有办法通过直接向 MongoDB 执行查询来保存 ParseObject?如果目前不可能,如果已经有一些辅助函数将 ParseQuery 和 ParseObject 转换为 MongoDB 中的亲戚,以便我可以直接使用 MongoDB 驱动程序,你能给我一些提示吗?
目前减少 HTTP 请求流量对我的应用程序非常重要。
有什么想法吗?谢谢!
编辑:
这里有一个重现这个概念的例子:
制作云函数:
Parse.Cloud.define('hello', async (req, res) => {
let testClassObject = new Parse.Object('TestClass');
await testClassObject.save(null, {useMasterKey: true});
let query = new Parse.Query('TestClass');
let testClassRecords = await query.find({useMasterKey: true});
return testClassRecords;
});
提出POST请求:
POSThttp://localhost:1337/parse/functions/hello
使用 Wireshark 在端口 1337 上捕获 HTTP 流量:
您可以看到,对于 1 个 POST 请求,其他 2 个请求是由于保存/查询代码而发出的。我的目标是避免这两个 HTTP 调用,而是直接进行数据库调用,以便减少通过整个网络服务器堆栈的流量。
Link 到 Github 问题:https://github.com/parse-community/parse-server/issues/6549
Parse Server directAccess
选项应该可以为您带来神奇效果。请确保您正在像这样初始化 Parse Server:
const api = new ParseServer({
...
directAccess: true
});
...
我没有找到太多关于这个主题的信息,所以我想知道这是一项容易实现的任务,还是实际上不可能实现的。我的问题是我的服务器上有很多 HTTP 请求,即使只调用一次 Cloud 函数也是如此。所以我假设所有 object 更新/保存/查询都是使用 REST API 进行的。我有很多 HTTP 请求,有数百个请求超时,我想是因为它产生的巨大流量。
有没有办法通过直接向 MongoDB 执行查询来保存 ParseObject?如果目前不可能,如果已经有一些辅助函数将 ParseQuery 和 ParseObject 转换为 MongoDB 中的亲戚,以便我可以直接使用 MongoDB 驱动程序,你能给我一些提示吗?
目前减少 HTTP 请求流量对我的应用程序非常重要。
有什么想法吗?谢谢!
编辑: 这里有一个重现这个概念的例子:
制作云函数:
Parse.Cloud.define('hello', async (req, res) => {
let testClassObject = new Parse.Object('TestClass');
await testClassObject.save(null, {useMasterKey: true});
let query = new Parse.Query('TestClass');
let testClassRecords = await query.find({useMasterKey: true});
return testClassRecords;
});
提出POST请求: POSThttp://localhost:1337/parse/functions/hello
使用 Wireshark 在端口 1337 上捕获 HTTP 流量:
您可以看到,对于 1 个 POST 请求,其他 2 个请求是由于保存/查询代码而发出的。我的目标是避免这两个 HTTP 调用,而是直接进行数据库调用,以便减少通过整个网络服务器堆栈的流量。
Link 到 Github 问题:https://github.com/parse-community/parse-server/issues/6549
Parse Server directAccess
选项应该可以为您带来神奇效果。请确保您正在像这样初始化 Parse Server:
const api = new ParseServer({
...
directAccess: true
});
...