mongodb,一對多,內嵌文檔問題
天蓬老师
天蓬老师 2017-04-27 09:02:49
0
2
563

請問下,我有個使用者---》多個地址
我目前把地址用內嵌文檔放入用戶collection,可是如果要修改地址,內嵌文檔沒有id怎麼辦? 內嵌文檔怎麼實現自增id?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(2)
过去多啦不再A梦

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

迷茫

在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."
   }
)
  1. 用findAndModify()

function getNextSequence(name) {
   var ret = db.counters.findAndModify(
          {
            query: { _id: name },
            update: { $inc: { seq: 1 } },
            new: true,
            upsert: true
          }
   );

   return ret.seq;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板