【问题标题】:NestJs - How do I download objects as json files locally?NestJs - 如何在本地将对象下载为 json 文件?
【发布时间】:2021-11-03 05:02:06
【问题描述】:

所以我将我的 NestJs 应用程序连接到 mongoDB/Mongoose。我想获取存储库中的所有内容并将其作为 json 文件保存在本地计算机上。任何人都可以建议如何去做吗?

backup.service.ts

@Injectable()
export class BackupService {
  constructor(private userService: UserService) {}

  private async getUsers(): Promise<User[]> {
    return await this.shiftService.getMany();
  }

  public async downloadUserData() {
      const users = await this.getUsers();
      // next step to download as json file to local computer?

  }
}

任何建议将不胜感激!

【问题讨论】:

    标签: json file download nestjs fs


    【解决方案1】:

    您需要使用 Node 的 fs 模块将数据写入文件。您将能够执行以下操作:

    import { writeFile } from 'fs/promises';
    import { join } from 'path';
    
    @Injectable()
    export class BackupService {
      constructor(private userService: UserService) {}
    
      private async getUsers(): Promise<User[]> {
        return await this.shiftService.getMany();
      }
    
      public async downloadUserData() {
          const users = await this.getUsers();
          await writeFile(join(process.cwd(), 'db', 'users.json'), JSON.stringify(users));
      }
    }
    

    这应该将数据写入位于&lt;projectRoot&gt;/db/users.json 的 JSON 文件。请记住,这是直接写入,而不是append,因此其中的任何数据都将被覆盖。

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 2018-11-01
      • 2016-05-26
      • 2021-08-22
      • 2016-08-23
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      相关资源
      最近更新 更多