cari

Rumah  >  Soal Jawab  >  teks badan

mongodb,一对多,内嵌文档问题

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

天蓬老师天蓬老师2762 hari yang lalu562

membalas semua(2)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-27 09:04:49

    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

    balas
    0
  • 迷茫

    迷茫2017-04-27 09:04:49

    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;
    }

    balas
    0
  • Batalbalas