He intentado que todas las respuestas sean StackOverflow. Pero nada de esto respondió que no funciona para mí o mi pregunta, he creado una nueva colección de Mongo para un nuevo proyecto y estoy agregando datos a esta colección usando la función map().
Colección Mongo:-
@Schema({ timestamps: true }) export class TagServiceEntity { @Prop({ type: String, default: function genUUID() { return uuidv4(); }, }) _id: string; @Prop({ type: String, required: true, trim: true, index: true, }) name: string; @Prop({ type: String, slug: 'name', unique: true }) slug: string; @Prop() tenantId: string; } export const TagServiceSchema = SchemaFactory.createForClass(TagServiceEntity);Función de mapa: -
async setTags(tags: Array<string>, tenantId: string): Promise<Array<string>> { if (tags.length > 0 && tags[0] !== '') { return await Promise.all( tags.map(async (tag: any) => { const isTagExist = await this.tagsService.checkTagExist(tag); if (isTagExist) { return this.tagsService.findByTagName(tag); } const newTagData = { name: tag.toString(), tenantId: 'test-tenantId-01', }; const newTag = await this.tagsService.create(newTagData); return newTag._id; }), ); } return []; }Función DAO: -
async create(createTagServiceDto: any) { console.log(createTagServiceDto); try { const createTags = new this.tagsModel(createTagServiceDto); const tags = await createTags.save(); if (tags) { return tags; } } catch (error) { console.log(error); throw error; } }