将数据从 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 时记录重复的问题。
也不建议索引敏感信息。