Мне нужны следующие функции в MongoDB. У меня есть коллекция с именем «сущности», которая в основном хранит текст сущности и ее количество. Коллекция выглядит так:
[{u'_id': u'facebook', u'n': 120},
{u'_id': u'florida', u'n': 98},
{u'_id': u'vegas', u'n': 94},
{u'_id': u'andrew_mason', u'n': 93},
{u'_id': u'obama', u'n': 85},
{u'_id': u'twitter', u'n': 81},
{u'_id': u'outlook', u'n': 81},
{u'_id': u'delhi', u'n': 75},
{u'_id': u'google', u'n': 74},
{u'_id': u'virginia', u'n': 71}]
Теперь я хочу обновить эту коллекцию новыми сущностями. По сути, у меня будут новые объекты, готовые в массиве, например:
entitySet = ['google', 'Abhishek_Vaid', 'andrew_mason']
Мои намерения заключаются в том, что для сущностей, уже находящихся в коллекции, их количество должно быть обновлено. Что касается объектов, не в коллекции, их количество должно быть инициализировано равным 1. Я хочу использовать один запрос MongoDB для достижения обоих этих эффектов. До сих пор я мог найти следующий запрос: (Это вариант PyMongo, но, тем не менее, это запрос MongoDB)
ENTITY_DB_HANDLE.entities.update (
{'_id' : {'$in' : entitySet} }, {'$inc' : {'n' : 1} }, upsert=True, multi=True )
Однако этот запрос только обновляет количество существующих сущностей и не отправляет новые сущности.
Любые идеи по этому поводу?