每次在数据库中插入值时,我想创建一个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
}
})
答案 0 :(得分:1)
Mongodb中的自动增量字段的工作方式与它们在RDBMS中的工作方式完全不同。涉及的开销更多。从来没有,创建一个自动字段是solved problem。还有一个第三方mongoose-autoincrement包可以让它变得更容易。
从中扩展。你的问题也解决了。因为
字符串部分将始终相同
只需使用字符串连接在显示时将“问题”添加到自动增量字段。
答案 1 :(得分:0)
这是我使用HTML special characters @ 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
。