将数据从 API 导入到 Algolia
Import data from API to Algolia
我正在尝试使用 Redux 将数据从 MongoDB 推送到 Algolia,它正在导入数据。但是,它不是将数据导入到单个数组,而是整个对象。
我的意思是:
我将如何推断每个单独的数组?
const passwordList = useSelector((state) => state.passwordList);
const { loading, error, passwords } = passwordList;
useEffect(() => {
dispatch(listPasswords());
}, [dispatch]);
const objects = [{ passwords }];
index
.saveObjects(objects, { autoGenerateObjectIDIfNotExist: true })
.then(({ objectIDs }) => {
console.log(objectIDs);
});
saveObjects
接收一个对象数组
const objects = [{ passwords }];
将创建一个只有 1 个对象的新数组,这就是它只显示 1 条记录的原因。
[{
objectID: 1234 //created from autoGenerateObjectIDIfNotExist: true
passwords: [{ ... }, { ... }]
}]
由于您的 passwords
已经是一个密码对象数组,您可以直接将其传递给 saveObjects
,它将为数组中的每个元素创建单独的记录
index
.saveObjects(passwords, { autoGenerateObjectIDIfNotExist: true })
.then(({ objectIDs }) => {
console.log(objectIDs);
});
PS。建议定义 objectID
而不是自动生成。我遇到过在一次索引大量记录时使用自动生成的对象 ID 时记录重复的问题。
也不建议索引敏感信息。
我正在尝试使用 Redux 将数据从 MongoDB 推送到 Algolia,它正在导入数据。但是,它不是将数据导入到单个数组,而是整个对象。
我的意思是:
我将如何推断每个单独的数组?
const passwordList = useSelector((state) => state.passwordList);
const { loading, error, passwords } = passwordList;
useEffect(() => {
dispatch(listPasswords());
}, [dispatch]);
const objects = [{ passwords }];
index
.saveObjects(objects, { autoGenerateObjectIDIfNotExist: true })
.then(({ objectIDs }) => {
console.log(objectIDs);
});
saveObjects
接收一个对象数组
const objects = [{ passwords }];
将创建一个只有 1 个对象的新数组,这就是它只显示 1 条记录的原因。
[{
objectID: 1234 //created from autoGenerateObjectIDIfNotExist: true
passwords: [{ ... }, { ... }]
}]
由于您的 passwords
已经是一个密码对象数组,您可以直接将其传递给 saveObjects
,它将为数组中的每个元素创建单独的记录
index
.saveObjects(passwords, { autoGenerateObjectIDIfNotExist: true })
.then(({ objectIDs }) => {
console.log(objectIDs);
});
PS。建议定义 objectID
而不是自动生成。我遇到过在一次索引大量记录时使用自动生成的对象 ID 时记录重复的问题。
也不建议索引敏感信息。