2 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
在mongodb中實(shí)現(xiàn)自增長(zhǎng)id,有2種方法:
counter collection
db.counters.insert(
{
_id: "userid",
seq: 0
}
)
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Bob D."
}
)
用findAndModify()
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true,
upsert: true
}
);
return ret.seq;
}

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
建議用uuid吧, 實(shí)現(xiàn)自增id的話要自己程序手動(dòng)維護(hù)寫一個(gè)自增函數(shù) 還麻煩些 只要做到唯一就行 不一定要自增的
- 2 回答
- 0 關(guān)注
- 854 瀏覽
添加回答
舉報(bào)