mongoose上的string+自动增量数

每次在数据库中插入一个值时,我都想创build一个String + number (数字必须是自动增量)。 在Schema中可以做到吗? 或者,我需要这样做之前,值插入数据库?

'question' – > String后面跟一个autoincrement number

  var random = [{ question: 'question1' },{ question: 'question2' },{ question: 'question3' },{ question: 'question4' }]; const RandomSchema = new Schema({ question: { type: String, unique: true } }) 

Mongodb中的自动增量字段与RDBMS中的自动增量字段完全不同。 涉及到更多的开销。 从来没有,创build一个汽车领域是一个解决的问题 。 还有一个第三方mongoose自动增量包,使它更容易。

从此延伸。 你的问题也是一个解决的问题。 因为

string部分将始终是相同的

只需使用string连接在显示时间将“问题”添加到自动增量字段。

这是我用@ e4c5指出的方法之一实现的,没有使用第三方包。 定义add.js如下:

 db.counters.insert( { _id: "itemid", seq: 0 } ) function getNextSequence(id) { var ret = db.counters.findAndModify( { query: { _id: id }, update: { $inc: { seq: 1 } }, new: true } ); return ret.seq; } db.randoms.insert( { question: "question"+getNextSequence("itemid"), } ) db.randoms.insert( { question: "question"+getNextSequence("itemid"), } ) 

在启动一个mongod实例之后,执行mongo < add.js