【问题标题】:Mongoose model save猫鼬模型保存
【发布时间】:2020-09-05 05:25:54
【问题描述】:

我在创建文档时注意到一个非常奇怪的行为

export const questionSchema: Schema<IQuestion> = new Schema<IQuestion>(
    {
        questionLevel: {
            type: Schema.Types.Number,
            index: true
        },
        answer: {
            type: Schema.Types.String
        },
        translations: [
            {
                language: {
                    type: Schema.Types.String
                },
                question: {
                    type: Schema.Types.String
                }
            }
        ]
    },
    { timestamps: true, collection: EDb.QUESTION_MODEL_NAME, minimize: false }
);

当我尝试保存新文档时:

new this.model(newData).save()

文档已创建但没有数组

但如果我将代码更改为

const newData: any = new this._model();
for (const key in data) {
    newData[key] = data[key];
}

return newData.save();

一切正常

【问题讨论】:

  • 您的newData 在第一种情况下看起来如何?

标签: mongodb mongoose mongoose-schema mongoose-models


【解决方案1】:

Mongoose 不会显示空数组。如果您的模型架构有一个数组字段,但当您保存文档时,如果您没有向该数组添加任何元素,则除非添加了一个元素,否则它将不会显示该数组。

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2016-06-29
    • 2015-05-03
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多