recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

天蓬老师天蓬老师2792 Il y a quelques jours584

répondre à tous(2)je répondrai

  • 过去多啦不再A梦

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

    Il est recommandé d'utiliser uuid. Pour implémenter l'ID à incrémentation automatique, vous devez maintenir et écrire manuellement une fonction d'incrémentation automatique dans votre propre programme. Tant qu'elle est unique, elle ne le fait pas. doit être auto-incrémenté

    répondre
    0
  • 迷茫

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

    Il existe deux méthodes pour implémenter un ID auto-croissant dans mongodb :

    1. collecte de comptoir

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

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

    répondre
    0
  • Annulerrépondre