Tengo un campo de comments en mi interfaz y esquema de la siguiente manera
export interface Blog extends Document { ... comments: { user: ObjectId; comment: string }[] ... } const blogSchema = new Schema<Blog>({ ... comments: [ { user: { type: ObjectId }, comment: { type: String } } ], ... }) Sin embargo, el esquema arroja este error 'ObjectId' only refers to a type but is being used as a value here. . Sé que el esquema está escrito de forma extraña, pero no sé cómo mejorar.
Lo que quiero en la base de datos es algo así como
[ { user: "Vivid", comment: "Vivid's comment" }, { user: "David", comment: "David's comment" } ]Creo que necesitas cambiar ObjectId a
mongoose.Schema.Types.ObjectIdO eso, o podrías hacer algo como:
const mongoose = require('mongoose'); // ... other imports const { ObjectId } = mongoose.Schema.Types; // ... now use in code as `ObjectId`