Use advantages of MongoDB (Decision)
Все возможные методы и запросы описаны здесь mongo Shell Methods
Мы используем MongoDB как место хранения информации, с таким же успехом можно использовать текстовый файл.
Небольшой Пример для наглядности, как можно исмользовать MongoDB и как это упростит работу:
Пример поиск объектов по нескольким заданными полям (Python):
def getObjectsByName(substring):
objects = getObjectsList()
return filterListByJsonField(objects, 'name', substring, 'substring')
Стык вызовов:
def filterListByJsonField
def isMatch (выполняется столько раз сколько объектов в базе)
def compareVariantWithString
def compareStrs
Недостатки:
- Весь поиск делается в Python что замедляет работу сервера ( а что будет при несколько тысяч объектов? )
- Много кода, и неоднократный вызов одной и той же функции.
Пример поиск объектов с заданными тегами (Python + MongoDB request):
def getObjectsByName(substring):
collection = getObjects()
resulte = collection.find( {"name": { "$in" : [ "/.*" + substring + ".*/i" ] } } )
return list( resulte )
Все запросы на поиск, сортировку, и т.д. нужно делать не в Python, а использовать MondoDB.
Все возможные методы и запросы описаны здесь mongo Shell Methods