Пакет plm: pgmm / system в единственном числе при использовании одной переменной

В соответствии с Mongodb 3.4 вы должны использовать индекс индексирования без учета регистра. Это самый быстрый способ сделать поиск без учета регистра данных по наборам данных большего размера. Я лично отправил по электронной почте одного из основателей, чтобы получить эту работу, и он сделал это! (Это была проблема JIRA как 5 лет, и многие просили эту функцию). Вот как это работает:

Индекс чувствительности к регистру производится путем задания сопоставления с силой 1 или 2. Вы можете создать индекс без учета регистра следующим образом:

db.myCollection.createIndex({city: 1}, {collation: {locale: "en", strength: 2}});

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

db.createCollection("Cities",{collation: {locale: "en",strength:2}});

И использовать ее следующим образом:

db.myCollection.find({city: "new york"}).collation({locale: "en", strength: 2});

Это будет return "New York", "new york" и т. д.

В качестве альтернативы вы можете сделать все индексы по умолчанию, когда вы создаете такую ​​коллекцию:

db.createCollection("cities",{collation:{locale: "en", strength: 2}});

Преимущество этого метода - значительно повысить эффективность и скорость работы с большими наборами данных.

Для получения дополнительной информации: https://jira.mongodb.org/browse/SERVER-90 , https://docs.mongodb.com/manual/reference/collation/

0
задан M-M 18 January 2019 в 15:37
поделиться