【发布时间】:2014-06-10 17:35:12
【问题描述】:
我正在尝试在 mongodb 中实现一个自动递增字段,如文档 (http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/) 中突出显示的那样。但是,我不确定在猫鼬中最好的方法是什么。
我有一个 CounterSchema 和一个 UserSchema,我想知道将 getNextSequence 函数放在哪里,以及如何从 User Schema 中调用它?
//counter.js
var CounterSchema = new Schema({
category: String,
seq: Number
});
//done in mongo shell
db.counters.insert({category: 'userIndex', seq: 0})
//user.js
var UserSchema = new Schema({
name: String,
UserIndex: Number
}
//per mongodb docs -> not sure where I should insert it
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}
【问题讨论】: