繁体   English   中英

如何在javascript的解析平台中以编程方式导入和导出数据?

[英]How can i import and export data programatically in parse platform in javascript?

我有一个 html 文件和相关的 js 文件。 我想用js导入导出数据。 所以我研究了参考资料,但它说你可以用 UI 来做到这一点。 但是我没有找到有关如何以编程方式执行此操作的任何信息。

Parse Server 中没有用于导入和导出数据的端点。 一些 Parse Server 托管提供商,如Back4App ,提供了额外的端点,您可以使用这些端点以编程方式导入/导出数据。 否则,对您来说最好的方法是创建用于导入/导出数据的云代码函数,然后调用这些函数。 这里有一些例子。

对于导入,您可以使用此云代码功能:

Parse.Cloud.define("import", function (request, response) {
  var className = request.params.className;
  var rows = request.params.rows;

  var MyClass = Parse.Object.extend(className);

  var promises = [];
  for (var i = 0; i < rows.length; i++) {
    var myClassObject = new MyClass();

    for (var column in rows[i]) {
      myClassObject.set(column, rows[i][column]);
    }

    promises.push(myClassObject.save());
  }

  Parse.Promise
    .when(promises)
    .then(
      function () {
        response.success('Successfully imported ' + i + ' rows into ' + className + ' class');
      },
      function (error) {
        response.error('Import failed: ' + error);
      });
});

然后准备一个data.json文件,如下所示:

{
    "className": "ExampleClass",
    "rows": [
        { "ExampleColumnA": "row1columnA", "ExampleColumnB": "row1columnB" },
        { "ExampleColumnA": "row2columnA", "ExampleColumnB": "row2columnB"}
    ]
}

然后像这样调用函数:

curl -X POST \
-H "X-Parse-Application-Id: YOUR_APP_ID" \
-H "X-Parse-REST-API-Key: YOUR_REST_KEY" \
-H "Content-Type: application/json" \
-d @data.json \
https://your.server.url/functions/import

要导出数据,请使用此云代码功能:

Parse.Cloud.define("export", function(request, response) {
  var ExportObject = Parse.Object.extend(request.params.exportClass);
  var query = new Parse.Query(ExportObject);
  query.find({ success: response.success, error: response.error });
});

并像这样调用这个云代码函数:

curl -X POST \
-H "X-Parse-Application-Id: YOUR_APP_ID" \
-H "X-Parse-REST-API-Key: YOUR_REST_KEY" \
-H "Content-Type: application/json" \
-d '{"exportClass": "MyClass"}' \
https://your.server.url/functions/export > out.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM