提问者:小点点

向文件添加增量


我们如何才能添加一个增量(数字)为一个文件名它已经存在,它不应该重复在一个文件名上,这样我们可以避免重复的文件名或更多。 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
      }

共1个答案

匿名用户

假定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
}