Лучшее руководство по MongoDB автоматически увеличивается в 2024 году. В этом руководстве вы можете изучить Коллекция Используйте счетчики,Создание функции Javascript,Используйте функцию Javascript,

MongoDB автоматически увеличивается

MongoDB есть не то же самое, как возможности SQL для выращивания автоматически, _id MongoDB составляет 12 байт, который однозначно идентифицирует систему автоматически.

Тем не менее, в некоторых случаях нам может потребоваться реализовать ObjectId функцию автоматического роста.

Поскольку MongoDB не реализует эту функцию, мы можем быть запрограммированы для достижения, мы достигнем следующего поля _id растут автоматически счетчики коллекции.


Коллекция Используйте счетчики

Рассмотрим продукты документацию следующий. Мы надеемся добиться от 1,2,3,4 поля _ID к п функция автоматического роста.

{
  "_id":1,
  "product_name": "Apple iPhone",
  "category": "mobiles"
}

Для этого нужно создать набор счетчиков, значения полей автоматическая последовательность может быть долгим:

>db.createCollection("counters")

Теперь мы вводим следующие документы счетчиков в коллекции, используйте КодПродукта как ключ:

{
  "_id":"productid",
  "sequence_value": 0
}

sequence_value поле представляет собой последовательность значений путем автоматического роста после.

Используйте следующую последовательность команд, чтобы вставить счетчики документа коллекции:

>db.counters.insert({_id:"productid",sequence_value:0})

Создание функции Javascript

Теперь мы создаем функцию getNextSequenceValue как имя входной последовательности, указанная последовательность будет автоматически расти на 1 и возвращает последнее значение последовательности. В примере в этой серии статей называется ProductID.

>function getNextSequenceValue(sequenceName){
   var sequenceDocument = db.counters.findAndModify(
      {
         query:{_id: sequenceName },
         update: {$inc:{sequence_value:1}},
         new:true
      });
   return sequenceDocument.sequence_value;
}

Используйте функцию Javascript

Далее мы будем использовать функцию getNextSequenceValue, чтобы создать новый документ и установить автоматическое значение последовательности документ _id возвращает:

>db.products.insert({
   "_id":getNextSequenceValue("productid"),
   "product_name":"Apple iPhone",
   "category":"mobiles"})

>db.products.insert({
   "_id":getNextSequenceValue("productid"),
   "product_name":"Samsung S3",
   "category":"mobiles"})

Как вы можете видеть, мы используем функцию getNextSequenceValue, чтобы установить поле _id.

Для проверки эффективности функции, мы можем использовать следующую команду, чтобы прочитать документ:

>db.products.find()

Приведенная выше команда возвращает следующие результаты, мы нашли _id поле самостоятельного роста:

{ "_id" : 1, "product_name" : "Apple iPhone", "category" : "mobiles"}

{ "_id" : 2, "product_name" : "Samsung S3", "category" : "mobiles" }
MongoDB автоматически увеличивается
10/30