Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

194
Views
Problema con fecha y mecanografiado de mangosta

Me enfrento al problema con el documento oficial de Mongoose encontrado aquí .

 import { Schema, Model, model } from 'mongoose'; export interface IUser { name: string; email: string; avatar?: string; created: Date; } const schema = new Schema<IUser, Model<IUser>, IUser>({ name: { type: String, required: true }, email: String, avatar: String, created: { type: Date, default: Date.now }, }); export const UserModel = model<IUser>('User', schema);

Mi problema es que el tipo created en IUser no es el mismo que en el schema y obtuve el error:

 Type '{ type: DateConstructor; default: () => number; }' is not assignable to type 'typeof SchemaType | Schema<any, any, undefined, unknown> | Schema<any, any, undefined, unknown>[] | readonly Schema<any, any, undefined, unknown>[] | Function[] | ... 6 more ... | undefined'. Types of property 'type' are incompatible. Type 'DateConstructor' is not assignable to type 'Date | typeof SchemaType | Schema<any, any, undefined, unknown> | undefined'. Type 'DateConstructor' is missing the following properties from type 'typeof SchemaType': cast, checkRequired, set, getts(2322) (property) created?: typeof SchemaType | Schema<any, any, undefined, unknown> | Schema<any, any, undefined, unknown>[] | readonly Schema<any, any, undefined, unknown>[] | Function[] | ... 6 more ... | undefined

Por favor hazme saber como arreglar esto.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Date.now() es una función que devuelve number . En lugar de eso, intente usar new Date() solamente. También es necesario realizar cambios en el tipo de createdAt to Number .

En el enlace del documento dado, el tipo de campo createdAt es number , pero aquí ha escrito Date .

 interface User { name: string; email: string; avatar?: string; createdAt: number; }

O

createdAt y updatedAt son marcas de tiempo que se pueden usar directamente sin especificar en el esquema.

 const schema = new Schema<IUser, Model<IUser>, IUser>({ name: { type: String, required: true }, email: String, avatar: String },{ timestamps: true });
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!