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

3 начина за пускане на индекс в MongoDB

MongoDB предоставя няколко начина за пускане на индекс или индекси.

За да премахнете единичен индекс, можете да използвате dropIndex() метод.

За да премахнете множество индекси, можете да използвате или dropIndexes() метод или dropIndexes административна команда.

dropIndex() Метод

Ако трябва да пуснете само един индекс, можете да използвате dropIndex() метод. Този метод приема името на индекса или неговия спецификационен документ.

Ето пример за пускане на индекс с помощта на името на индекса:

db.bars.dropIndex("location_2dsphere")

Изход:

{ "nIndexesWas" : 3, "ok" : 1 }

Това ни казва, че индексът, наречен location_2dsphere беше премахнат успешно.

Ето пример за отпадане на индекс чрез предаване на неговия документ за спецификация:

db.bars.dropIndex( { "name" : 1 } )

Изход:

{ "nIndexesWas" : 2, "ok" : 1 }

Виждаме, че този индекс също отпадна. Този индекс имаше спецификация на { "name" : 1 } , което е документът със спецификация, който използвах при създаването на индекса.

dropIndex() методът е обвивка около dropIndexes команда.

dropIndexes() Метод

dropIndexes() методът може да бъде удобен, ако трябва да пуснете повече от един индекс. Можете също да пуснете един индекс, той просто има добавената възможност да може да изтрие множество (или всички) индекси.

Този метод приема името на индекса или неговия документ за спецификация за всеки от индексите, които трябва да бъдат отхвърлени. Ако пускате повече от един индекс, трябва да предоставите техните имена/документи за спецификация в масив.

Ето пример за премахване на два индекса, използвайки имената им:

db.pets.dropIndexes( [ "type_1", "name_1" ])

Изход:

{ "nIndexesWas" : 3, "ok" : 1 }

Имайте предвид, че ако е текстов индекс, можете да посочите само името на индекса.

Можете да премахнете всички индекси (с изключение на _id индекс), като пропуснете параметъра напълно:

db.pets.dropIndexes()

dropIndexes() методът е обвивка около dropIndexes команда.

dropIndexes Команда

dropIndexes командата ви позволява да направите същото, което dropIndexes() метод. Както споменахме, dropIndexes() методът е обвивка около dropIndexes команда

Ето пример за отпадане на един индекс:

db.runCommand( { dropIndexes: "posts", index: "title_1" })

Изход:

{ "nIndexesWas" : 4, "ok" : 1 } 

И ето пример за отпадане на множество индекси:

db.runCommand( { 
  dropIndexes: "posts", 
  index: [ "tags_1", "body_text" ] 
})

Резултат:

{ "nIndexesWas" : 3, "ok" : 1 }

За да премахнете всички индекси (с изключение на _id индекс), използвайте заместващия знак звездичка (* ):

db.runCommand( { dropIndexes: "posts", index: "*" })

Резултат:

{
	"nIndexesWas" : 4,
	"msg" : "non-_id indexes dropped for collection",
	"ok" : 1
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Пагинация на монго с пролетни данни

  2. Намерете по идентификатор с mgo

  3. Mongoose Уникални стойности във вложен масив от обекти

  4. Сървърът на MongoDB все още може да бъде достъпен без идентификационни данни

  5. MongoDB отделно агрегиране