【问题标题】:How can remove _id from embedded object in Mongoose schema? [duplicate]如何从 Mongoose 模式中的嵌入对象中删除 _id? [复制]
【发布时间】:2019-02-02 10:28:42
【问题描述】:

我有这个 Mongoose 架构:

const User = mongoose.model('User', new Schema({
    id: String,
    name: String,
    extra: { bb: Number, chain: Number }
}), 'users');

当我看到一个新的User 时,它是这样存储的:

{ 
  _id: ...,
  id: '1234',
  name: 'John',
  extra: {
    _id: ...,
    bb: 54,
    chain: 7
  },
  __v: 1
}

如您所见,Mongoose(或 Mongo,我不知道)在嵌入对象 extra 中包含一个 _id。为什么会这样?我怎样才能防止它发生?

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    您可以为子模式声明“_id: false”,如下所示。

    const User = mongoose.model('User', new Schema({
         id: String,
         name: String,
         extra: { bb: Number, chain: Number, _id: false }
    }), 'users');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2021-02-16
      • 2015-02-27
      • 1970-01-01
      相关资源
      最近更新 更多