MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да създадете поле за автоматично нарастване

Възможно е, ако създадете две колекции

Първо за да съхраните полето, за което искате да създадете номер за автоматично нарастване като

// Inserting 2 records for which we want to create auto-increment numbers
db.autoincrementcollection.insert({
   field_id: "register_id",
   nextId: 0
},
{
   field_id: "user_id",
   nextId: 0
});

// Function is used to get the next autoincremented value
function getNextId(field)
{
   var ret = db.autoincrementcollection.findAndModify({
        query: { field_id: field },
        update: { $inc: { nextId: 1 } },
        new: true
   });    
   return ret.nextId;
}

Второ в който искате да използвате увеличеното число като

// inserting data in registration collection with register_id auto-increment number
db.registration.insert({
     _id: getNextId("register_id"),
     fname: "Rohan",
     lname:"Kumar"
});
// inserting data in user collection with user_id auto-increment number
db.users.insert({
     _id: getNextId("user_id"),
     name: "Rohan Kumar"
});

findAndModify() може да не работи, докато кодът използва PHP тогава можете да използвате find() и/или update()

Вижте Документи за create-an-auto-incrementing-field



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. съхраняване на гласове за/против в mongodb

  2. MongoDB не може да намери директория с данни след надстройка до Mac OS 10.15 (Catalina)

  3. Търсете в цялата колекция (mongodb) с помощта на nodejs

  4. MongoDB:Има ли начин да се открие тенденция на стойност с помощта на агрегиране?

  5. Как се сортират нулевите стойности в MongoDB индекс?