Mongoose 模式创建空数组字段

祸害

在我的Food架构中,我有基于另一个名为 的字段的不同字段yummy例如:

  • 如果yummy等于pancake,我的字段是doughjam
  • 如果yummy等于pizza,我的字段是doughmeat并且cheese

等。它在保存文档时按预期工作 - 我只是传递我想按文档保存的字段,因为除了yummy. 所以如果我保存:

{
   yummy: 'pizza'
   dough: 'thin'
   meat : 'peperroni',
   cheese: [ObjectId("59a65a4f2170d90b0436ed4b")] // refs to the cheeses collection.
}

我的文档看起来像预期的那样。

问题在于type: Array. 当我保存时:

{
    yummy: 'pancake',
    dough: 'thick',
    jam: 'blueberry'
}

我的文档与附加cheese: []字段一起保存在我的架构中,奶酪的定义如下:

Mongoose.model('Food', {
    ...
    cheese: { 
        type: [{ type: Mongoose.Schema.ObjectId, ref: 'Cheese' }], 
        required: false 
    },
    ...
});

我检查了 mongo 是否需要文档将数组字段预定义为空以备$push更新使用 - 它不需要。所以,问题是:如何避免在保存时向我的文档添加空数组字段?

奥利桑普斯

保存文档时,猫鼬会查看相关集合的架构。

它需要您提供的所有字段并设置值。它还为您没有提供任何内容的字段创建默认值。

这就是猫鼬的行为。


在你的情况下,我们能做什么?

我们将创建与同一个集合相关的两个模式。一种有田间奶酪,一种没有。因此,当您使用不带 的架构保存新文档时cheese,它不会被创建。


在实践中,集合将包含两种不同的文档类型。

这是有关使用与单个集合相关的多个架构的链接

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ObjectId 的 NodeJS/Mongoose 模式数组

来自分类Dev

Mongoose模式字段在MongoDB中是相反顺序的

来自分类Dev

如何为$ near查询创建Mongoose模式

来自分类Dev

如何从 JSON 创建 Mongoose 模式键

来自分类Dev

Mongoose 获取包含特定元素的数组字段

来自分类Dev

为什么我的Mongoose模式缺少其字段之一?

来自分类Dev

将字段添加到从Mongoose模式派生的模型中

来自分类Dev

从Mongoose获取在模式中设置为唯一的字段

来自分类Dev

Mongoose模式与Mongo验证程序

来自分类Dev

具有非空字段的MongoDB / Mongoose重量记录

来自分类Dev

mongoose find() 函数不返回整个对象,跳过空字段

来自分类Dev

如何设置Mongoose模式以在MongoDB中存储对象数组?

来自分类Dev

在我的Mongoose模式中添加一个数组

来自分类Dev

用于存储子文档的JSON对象数组的Mongoose模式

来自分类Dev

如何在Mongoose模式中设置数组大小的限制

来自分类Dev

防止Mongoose模式中数组中的重复条目

来自分类Dev

使用Mongoose在对象模式数组中使用find

来自分类Dev

如何设置Mongoose模式以在MongoDB中存储对象数组?

来自分类Dev

防止Mongoose模式中数组中的重复条目

来自分类Dev

使用Mongoose在对象模式数组中使用find

来自分类Dev

Mongoose - 如何在 Mongoose 的填充字段数组中选择特定对象?

来自分类Dev

使用Mongoose-paginate插件填充多个Mongoose模型字段

来自分类Dev

停止 Mongoose 创建自动索引

来自分类Dev

推送对象数组Mongoose NodeJS

来自分类Dev

Mongoose Mongodb查询对象数组

来自分类Dev

如何从数组Mongoose输出值?

来自分类Dev

Mongoose .Populate() 返回空数组

来自分类Dev

Mongoose 使用数组查询 ID

来自分类Dev

选择字段的值作为数组mongoose / mongodb聚合

Related 相关文章

热门标签

归档