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

时间:2019-07-06 22:21:35

标签: javascript parse-platform import export

我有一个html文件和相关的js文件。我想用js导入和导出数据。因此,我研究了参考文献,但它说您可以使用UI进行此操作。但是我没有找到有关如何以编程方式执行此操作的任何信息。

1 个答案:

答案 0 :(得分:1)

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