Categories
JavaScript Answers

How to stop Mongoose from creating _id property for sub-document array items?

Spread the love

Sometimes, we want to stop Mongoose from creating _id property for sub-document array items.

In this article, we’ll look at how to stop Mongoose from creating _id property for sub-document array items.

How to stop Mongoose from creating _id property for sub-document array items?

To stop Mongoose from creating _id property for sub-document array items, we can call mongoose.Schema with _id set to false.

For instance, we write

const mongoose = require("mongoose");

const subSchema = mongoose.Schema({}, {
  _id: false
});

const schema = mongoose.Schema({
  subSchemaCollection: [subSchema]
});

const model = mongoose.model('tablename', schema);

to create subSchema by calling mongoose.Schema with an object that has _id set to false.

Then we put the subSchema in the parent schema in the array we set as the value of subSchemaCollection.

Conclusion

To stop Mongoose from creating _id property for sub-document array items, we can call mongoose.Schema with _id set to false.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *