我们如何才能添加一个增量(数字)为一个文件名它已经存在,它不应该重复在一个文件名上,这样我们可以避免重复的文件名或更多。 filename是我们要插入到db中的文件名,也是我们要添加增量的变量。 或者如果我们加上日期和号码也会很好?
#代码
const checkFilenameIFExists = () => async (context) => {
const record = await context.app.service('people')
.Model.findByPk(context.data.peopleId);
if (!record) {
throw new errors.BadRequest('People record does not exist.');
}
// check if filename already exists
const file = await context.service.Model.findOne({
where: { peopleId: record.id, filename: context.data.filename },
});
if (file) {
//this is where I want to add an increment
context.data.filename
}
假定context.data.filename
是一个数字,所以“递增”很棘手(当然也不是不可能)。 听起来你想要的是总是创建一个新的文件名,但是将来可能会找到多个更新相同数据的文件名?
为了确保它是唯一的,最容易使用的是时间戳。 像这样的东西:
if (file) {
let prefix = Date.now().toString();
context.data.filename = prefix + context.data.filename
}
或者如果你想把它放在最后:
if (file) {
let prefix = "." + Date.now().toString();
context.data.filename += prefix
}