Запретить заполнение _id одной схемой - PullRequest
0 голосов
/ 29 августа 2018

Итак, у меня есть следующая схема:

var List = new Schema(
    {
        item_details_template: {
            default: [
                {
                    "title": "Name",
                    "content": "",
                    "hidden": false,
                    "order": 0,
                    "the_type": "text"
                },
                {
                    "title": "Price",
                    "content": "",
                    "hidden": false,
                    "order": 1,
                    "the_type": "text"
                },
                {
                    "title": "Company",
                    "content": "",
                    "hidden": false,
                    "order": 2,
                    "the_type": "text"
                }
            ],
            type: [Item_Detail]
        }
    }
)

Однако я не хочу, чтобы ТОЛЬКО эта схема (вложенный документ) не создавала _id полей. Как мне это сделать? Я знаю, что вы можете изменить саму оригинальную схему, но она используется другими схемами, где я хотел бы заполнить _id.

Ответы [ 3 ]

0 голосов
/ 01 сентября 2018
var widgetSchema = new Schema({ ... attributes ... }, { versionKey: false });
0 голосов
/ 02 сентября 2018

Чтобы подавить _id на item_detail_template, вам необходимо изменить структуру создания поддокумента следующим образом

var mongoose = require("mongoose");

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

var schema = mongoose.Schema({
    // schema content
    subSchemaCollection : [subSchema] // item_details_template
});

var model = mongoose.model('tablename', schema);
0 голосов
/ 29 августа 2018

Если вы хотите подавить _id на item_detail_template только в схеме List:

var List = new Schema(
    {
        item_details_template: {
            _id:false, // should supress _id property
            default: [
            ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...