猫鼬数组中最后使用的值

时间:2018-07-04 19:42:24

标签: javascript node.js mongodb mongoose

我有一个用户模型,其中每个用户可以拥有许多公司,我还想跟踪最后选择的公司。 但是问题是,当我从公司阵列删除公司时,我需要确保在需要时可以更新最后一个公司。

  

示例

var user_doc = {
  last_company_id: '1',
  companies: ['1','2','3'],
  username: 'jucesr'
}

然后我将删除公司1,文档将类似于

var user_doc = {
  last_company_id: '1',
  companies: ['2','3'],
  username: 'jucesr'
}

这将导致我的数据不一致。我可以更新last_company_id,但我想知道是否有更简单的方法。

const UserSchema = new mongoose.Schema({
  last_company_id:{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Company'
  },
  companies: [{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Company'
  }],
  username: {
    type: String,
    required: true,
    unique: true
  }
});

0 个答案:

没有答案