gpt4 book ai didi

parse-platform - 将 Parse 类导入到 algolia

转载 作者:行者123 更新时间:2023-12-01 03:37:03 25 4
gpt4 key购买 nike

我正在尝试将我的类(2500 条记录)从 Parse.com 导入到 Algolia 索引中。默认情况下有 100 条记录的限制,这显然对我不起作用。即使我使用 query.limit = 1000;
下面的代码如何用于导入我的整个类(class)?

Parse.Cloud.define("createIndex", function(request, response) {

var algoliasearch = require('cloud/algoliasearch.parse.js');
var client = algoliasearch('9PsdfsdWVU7', '3b24e897bfb4esdfsdfsdf209e25c28');
var index = client.initIndex('exercises');

console.log("running");

var objectsToIndex = [];

//Create a new query for Contacts
var query = new Parse.Query('Exercises');

query.limit = 1000;
// Find all items
query.find({
success: function(exercises) {
// prepare objects to index from contacts
objectsToIndex = exercises.map(function(exercise) {
// convert to regular key/value JavaScript object
exercise = exercise.toJSON();

// Specify Algolia's objectID with the Parse.Object unique ID
exercise.objectID = exercise.objectId;

return exercise;
});

// Add or update new objects
index.saveObjects(objectsToIndex, function(err, content) {
if (err) {
throw err;
}

console.log('Parse<>Algolia import done');
});
response.success("worked");
},
error: function(err) {
response.error("failed");
throw err;
}
});

});

最佳答案

Parse.com 有一个查找限制,当您想“获取所有对象”时,还有所有其他限制,您可以在此处找到更多信息:https://parse.com/docs/js/guide#performance-limits-and-other-considerations

对于您当前的问题,您可以这样做:

Parse.Cloud.define("createIndex", function(request, response) {
var algoliasearch = require('cloud/algoliasearch.parse.js');
var client = algoliasearch('9PsdfsdWVU7', '3b24e897bfb4esdfsdfsdf209e25c28');
var index = client.initIndex('exercises');

console.log("running");

//Create a new query for Contacts
var Exercises = Parse.Object.extend('Exercises');
var query = new Parse.Query(Exercises);
var skip = -1000;
var limit = 1000;

saveItems();

function saveItems() {
skip += limit;
query.skip(skip + limit);
query.limit(limit);
query.find({success: sucess, error: error});
}

function sucess(exercices) {
if (exercices.length === 0) {
response.success("finished");
return;
}


exercises = exercises.map(function(exercise) {
// convert to regular key/value JavaScript object
exercise = exercise.toJSON();

// Specify Algolia's objectID with the Parse.Object unique ID
exercise.objectID = exercise.objectId;

return exercise;
});

index.saveObjects(exercises, function(err) {
if (err) {
throw err;
}

console.log('Parse<>Algolia import done');
response.success("worked");
saveItems();
});

}

function error() {
response.error("failed");
throw err;
}
});

关于parse-platform - 将 Parse 类导入到 algolia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com