看了很多mongodb自增长的实现方法,都逃离不官网的,直接上库auto-to-increaseId
https://github.com/ramiel/mongoose-sequence
https://github.com/chevex-archived/mongoose-auto-increment
在官网的mongodb手册上是这么实现的:
首先需要建立一个表结构,用于存储你的id信息:
在官网的mongodb手册上是这么实现的:
首先需要建立一个表结构,用于存储你的id信息:
db.counters.insert(
{
_id: "userid",
seq: 0
}
)
然后定义一个函数,每次调用实现id++功能
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}
上面的函数,主要用到了findAndModify这个系统函数,此系统函数其实就是实现了update的quary语句。
3. 接下来就可以在其他数据库中进行应用了
b.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Bob D."
}
)
我们来查看一下结果:
db.users.find();
{_id : 1, name : "Sarah C."}
{_id : 2, name : "Bob D."}