Firestore未创建具有自定义文档ID的集合



所以,在过去的几天里,我一直在尝试添加一个具有自定义文档ID的集合,现在已经有大约2天了,但没有成功。

我想使用node创建一个分析集合,但它从未出现在数据库中。这是我的代码:

const onSubmit = async (_values) => {
setIsLoading(true);
setError(null);
const data = { name: '', pdfUrl: '' };
if (name != '') {
data['name'] = name;
if (pdfUrl) {
data['pdfUrl'] = pdfUrl;
// alert(JSON.stringify(data));
let res = await createAnalysis({ name, pdfUrl });
console.log(res);
alert(JSON.stringify(res));
let json = res.then((json) => console.log(json));
console.log(json);
} else {
addToast({
title: 'No Title created',
description: 'You must create a title to proceed.',
type: 'error',
});
}
} else {
addToast({
title: 'No pdf selected',
description: 'You must selected a pdf to proceed.',
type: 'error',
});
}
};

它应该执行一个名为createAnalysis的函数。以下是功能:

const createAnalysis = async (data: {
name: string;
pdfUrl: string;
}): Promise<any> => {
const name = data.name;
const pdfUrl = data.pdfUrl;
const id = makeId(name);
const ownerId = auth.currentUser.uid;
}
];
// alert(JSON.stringify({ id, name, pdfUrl, ownerId, tools }));
try {
const analysisRef = await db.collection('analysis');
const analysisDoc = await analysisRef.doc(id);
const analysisCreate = await analysisDoc.set({
id,
name,
pdfUrl,
ownerId,
tools,
});
console.log(analysisCreate);
// alert(JSON.stringify(analysisCreate));
return await analysisCreate;
} catch (error) {
// alert(JSON.stringify(error));
console.error(error);
return error;
}
};

它甚至没有显示错误,所以我不知道如何解决这个问题。如果有人知道怎么做,请告诉我。

您真的需要创建一个自定义id吗?还是只需要将id放入数据库中以供参考?

如果我没记错,你可以试试:

try {
const analysisRef = db.collection('analysis');
const analysisDoc = analysisRef.doc();
const analysisCreate = await analysisDoc.set({
id: analysisDoc.id,
name,
pdfUrl,
ownerId,
tools,
});

最新更新