Atlas Atlas - 1 year ago 96
Node.js Question

Stop Mongoose from creating _id property for sub-document array items

If you have subdocument arrays, Mongoose automatically creates ids for each one. Example:

_id: "mainId"
subdocArray: [
_id: "unwantedId",
field: "value"
_id: "unwantedId",
field: "value"

Is there a way to tell Mongoose to not create ids for objects within an array?

Answer Source

It's simple, you can define this in the subschema :

var mongoose = require("mongoose");

var subSchema = mongoose.Schema({
    //your subschema content
},{ _id : false });

var schema = mongoose.Schema({
    // schema content
    subSchemaCollection : [subSchema]

var model = mongoose.model('tablename', schema);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download