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