sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan opretter du automatisk stigningsfelt

Det er muligt, hvis du opretter to samlinger

Først for at gemme det felt, som du vil oprette autoinkrementnummer for synes godt om

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

Anden hvor du vil bruge det øgede tal som

// 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() virker muligvis ikke, mens kode bruger PHP så kan du bruge find() og/eller update()

Se Dokumenter for create-an-auto-incrementing-field a>



  1. Brug af Mongo-aggregering til at beregne summen af ​​værdier

  2. Hvordan behandler man insert-anmodninger i Spring Data, før de tilføjes til MongoDB?

  3. Kører PDI Kettle på Java - Mongodb Step Missing Plugins

  4. Hvordan FILTERER jeg returnerede data mellem to datoer fra mongodb ved hjælp af en aggregering:match, opslag og projekt?