В соответствии с 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/
Нет никакого "непосредственного" отображения между XML, и JSON, таким образом преобразовывая один в другой обязательно требует некоторого понимания того, что Вы хотите к , делают с результатами.
Однако стандартная библиотека Python имеет несколько модулей для парсинга XML (включая DOM, SAX и ElementTree). С Python 2.6 поддержка преобразования структур данных Python к и от JSON включена в json
модуль .
, Таким образом, инфраструктура там.
Ну, вероятно, самым простым путем является просто синтаксический анализ XML в словари, и затем сериализируйте это с simplejson.
В то время как встроенное освобождает для парсинга XML, довольно хороши, я неравнодушен к lxml.
, Но для парсинга каналов RSS, я рекомендовал бы Универсальный Синтаксический анализатор Канала , который может также проанализировать Atom. Его основное преимущество состоит в том, что это может переварить даже большую часть уродливой подачи.
Python 2.6 уже включает синтаксический анализатор JSON, но более новое версия с улучшенной скоростью доступно как simplejson.
С этими инструментами, создающими Ваше приложение, не должно быть настолько трудным.