Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 77x 77x 77x | import { model, Schema } from "mongoose";
import { ArrayOfObjectIds, RequiredString, ObjectId, RequiredObjectId } from "../utilities/schemaTypesOptions.js";
const CommentsSchema = new Schema(
{
_id: false,
id: RequiredString(),
commenterId: RequiredObjectId(),
commenterData: {
id: ObjectId,
userName: String,
avatar: String
},
text: RequiredString({ maxLength: 300, minLength: 1 }),
likes: ArrayOfObjectIds(),
dislikes: ArrayOfObjectIds()
},
{ timestamps: true }
);
const ProductCommentSchema = new Schema(
{
productId: RequiredObjectId(),
comments: {
type: [CommentsSchema],
default: []
}
},
{ versionKey: false }
);
const ProductsCommentsModel = model("products-comments", ProductCommentSchema);
export default ProductsCommentsModel; |