mongodb - 猫鼬模型保存
问题描述
创建文档时我注意到一个非常奇怪的行为
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();
一切开始正常
解决方案
Mongoose 不会显示空数组。如果您的模型架构有一个数组字段,但当您保存文档时,如果您没有向该数组添加任何元素,则除非添加了一个元素,否则它将不会显示该数组。
推荐阅读
- dialogflow-es - 什么是行动项目的ClientID
- python - 与其他一些语言相比,为什么 Python JSON 序列化如此“参与”
- html - 如何在 CSS 中创建水平居中的菜单,同时菜单项之间的距离不同
- google-compute-engine - 使用具有计算实例管理员(测试版)IAM 角色的服务帐户创建 VM 时出错
- python - Wiki Scraping 缺失数据
- python - 如何转置 3D numpy 数组
- flutter - 如何在 Flutter 中更改颜色的色调、饱和度或值?
- django - 网站没有 www 就不能打开,但是用它打开
- php - 在 Codeigniter 中设置 X-Frame-Options 标头
- javascript - React 和 Axios 不连接到后端