亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongodb,一對多,內嵌文檔問題

mongodb,一對多,內嵌文檔問題

阿晨1998 2018-08-14 13:10:27
請問下,我有個用戶---》多個地址我目前把地址用內嵌文檔放入用戶collection,可是如果要修改地址,內嵌文檔沒有id怎么辦? 內嵌文檔怎么實現自增id?
查看完整描述

2 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

在mongodb中實現自增長id,有2種方法:

  1. 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;

}


查看完整回答
反對 回復 2018-08-26
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

建議用uuid吧, 實現自增id的話要自己程序手動維護寫一個自增函數 還麻煩些 只要做到唯一就行 不一定要自增的

查看完整回答
反對 回復 2018-08-26
  • 2 回答
  • 0 關注
  • 856 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號