Mongoose使用递增的索引字段创建新数据

时间:2017-12-28 17:48:15

标签: node.js mongodb mongoose

我想做什么: 每当我向集合中添加一个新项目(在我的情况下为game)时,它将具有递增的“索引”类值(在我的情况下,我也将其命名为index)。 / p>

我的游戏集应该如下:

[
  { "index":0, ... data }
  { "index":1, ... data }
  { "index":2, ... data }
]

这个词很难搜索。我总是最终:

  • $inc代表update。不是这个,我想在create上增加数字。
  • Schema.index确实看起来像我想要的,但不知何故它根本不起作用:

const gameModel = new Schema({
  index: {
    type: Number,
    default: 0
  },
  players: [{
    name: String,
    score: Number
  }]
}, {
  timestamps: {
    createdAt: 'date'
  }
});

gameModel.index({
  index: 1
});

有了这个,我总是得到索引:0。如果我关闭默认值,则不会创建索引。

我现在该怎么办? (我更希望保持_id完好无损)

1 个答案:

答案 0 :(得分:2)

您可以使用名为mongoose-auto-increment的npm包来提供此功能。它也非常容易且记录良好