I’m using Mongoose. This works for me, I’m simply using this as a reference to the model.
I have a Comment model. Comments can have a reply that is also Comment.
var Comment = new mongoose.Schema({
id: { type: ObjectId, required: true },
comment: { type: String },
replies: [ this ],
});