MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak utworzyć pole automatycznego przyrostu

Jest to możliwe, jeśli utworzysz dwie kolekcje

Pierwszy do przechowywania pola, dla którego chcesz utworzyć numer autoinkrementacji lubię

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

Drugi w którym chcesz użyć zwiększonej liczby, jak

// 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() może nie działać, gdy kod używa PHP wtedy możesz użyć find() i/lub update()

Zapoznaj się z Dokumentami dla create-an-auto-incrementing-field



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Fragmentacja danych w kolekcji mongo

  2. Czy Mongo $near zwróci dokumenty, których dowolny punkt w MultiPoint znajduje się w zasięgu?

  3. Konsekwencje użycia $unwind w zagnieżdżonych tablicach?

  4. Przechowuj plik obrazu w danych binarnych w schemacie mangusty i wyświetlaj obraz w formie html

  5. Jak zwrócić ObjectId lub _id dokumentu w MongoDB? a błąd $in wymaga tablicy