mongodb,一对多,内嵌文档问题
天蓬老师
天蓬老师 2017-04-27 09:02:49
0
2
576

请问下,我有个用户---》多个地址
我目前把地址用内嵌文档放入用户collection,可是如果要修改地址,内嵌文档没有id怎么办? 内嵌文档怎么实现自增id?

天蓬老师
天蓬老师

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

membalas semua(2)
过去多啦不再A梦

Adalah disyorkan untuk menggunakan uuid Untuk melaksanakan ID kenaikan automatik, anda perlu mengekalkan dan menulis fungsi kenaikan automatik dalam program anda sendiri. Selagi ia unik, ia tidak mesti meningkat secara automatik

迷茫

Terdapat dua kaedah untuk melaksanakan ID meningkat sendiri dalam mongodb:

  1. koleksi kaunter

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. Gunakan findAndModify()

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

   return ret.seq;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan