Parse platform 将解析类导入algolia
我正在尝试将我的类(2500条记录)从Parse.com导入到Algolia索引中。默认情况下有100条记录的限制,这显然对我不起作用。即使我使用Parse platform 将解析类导入algolia,parse-platform,algolia,Parse Platform,Algolia,我正在尝试将我的类(2500条记录)从Parse.com导入到Algolia索引中。默认情况下有100条记录的限制,这显然对我不起作用。即使我使用query.limit=1000 如何使用下面的代码导入我的整个类 Parse.Cloud.define("createIndex", function(request, response) { var algoliasearch = require('cloud/algoliasearch.parse.js'); var client = algo
query.limit=1000代码>
如何使用下面的代码导入我的整个类
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.Cloud.define(“createIndex”),函数(请求、响应){
var algoliasearch=require('cloud/algoliasearch.parse.js');
var client=algoliasearch('9psdfsdvuvu7','3b24e897bfb4esdfsfs209e25c28');
var index=client.initIndex(“练习”);
控制台日志(“运行”);
var objectsToIndex=[];
//为联系人创建新查询
var query=newparse.query('Exercises');
query.limit=1000;
//查找所有项目
查询.查找({
成功:功能(练习){
//准备要从联系人索引的对象
objectsToIndex=exercises.map(函数(exercise){
//转换为常规键/值JavaScript对象
exercise=exercise.toJSON();
//使用Parse.Object唯一ID指定Algolia的objectID
exercise.objectID=exercise.objectID;
复训;
});
//添加或更新新对象
saveObjects(objectsToIndex,函数(err,content){
如果(错误){
犯错误;
}
log('ParseAlgolia导入完成');
});
回应:成功(“成功”);
},
错误:函数(err){
响应。错误(“失败”);
犯错误;
}
});
});
Parse.com有一个查找限制,以及所有其他限制当您想要“获取所有对象”时,您可以在此处找到更多信息:
对于您当前的问题,您可以这样做:
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.Cloud.define(“createIndex”),函数(请求、响应){
var algoliasearch=require('cloud/algoliasearch.parse.js');
var client=algoliasearch('9psdfsdvuvu7','3b24e897bfb4esdfsfs209e25c28');
var index=client.initIndex(“练习”);
控制台日志(“运行”);
//为联系人创建新查询
var-exerces=Parse.Object.extend('exerces');
var query=newparse.query(练习);
var-skip=-1000;
var限值=1000;
saveItems();
函数saveItems(){
跳过+=限制;
查询.跳过(跳过+限制);
查询.限额(limit);
find({success:success,error:error});
}
功能成功(练习){
如果(exercices.length==0){
回答:成功(“完成”);
返回;
}
练习=练习.map(函数(练习){
//转换为常规键/值JavaScript对象
exercise=exercise.toJSON();
//使用Parse.Object唯一ID指定Algolia的objectID
exercise.objectID=exercise.objectID;
复训;
});
index.saveObjects(练习、函数(err){
如果(错误){
犯错误;
}
log('ParseAlgolia导入完成');
回应:成功(“成功”);
saveItems();
});
}
函数错误(){
响应。错误(“失败”);
犯错误;
}
});
不是查找
,您是否尝试了每个
?我得到类型错误:对象不是查询上方的一行上的函数。每个
行。这不超过100个结果的限制。我的代码与您的示例一样工作。默认情况下,只返回100个结果。您可以将其扩展到1000条,但是如果您有3000条记录,这仍然不够好