Пример #1
0
def get_user_keyword_frequency_distinct_userids():
    """

    :return: Distinct user ids.
    """
    collection = yield db.get_user_keyword_frequency_collection()
    return_value = yield collection.distinct(key='user_id')
    defer.returnValue(return_value)
Пример #2
0
def get_user_keyword_frequency_iter(user_id):
    """

    :param user_id:
    :return: Iterable user keyword frequency collection.
    """
    collection = yield db.get_user_keyword_frequency_collection()
    defer.returnValue(QueryIterator(collection.find({'user_id': user_id}, cursor=True)))
Пример #3
0
def delete_user_keyword_frequency(_id):
    """
    Remove user keyword documents.

    :param _id: Mongo document _id.
    :return:
    """
    collection = yield db.get_user_keyword_frequency_collection()
    return_value = yield collection.delete_one({'_id': _id})
    defer.returnValue(return_value)
Пример #4
0
def get_user_keyword_frequency(user_id, keyword):
    """

    :param user_id:
    :param keyword:
    :return: One use keyword frequency document.
    """
    collection = yield db.get_user_keyword_frequency_collection()
    return_value = yield collection.find_one({'keyword': keyword, 'user_id': user_id})
    defer.returnValue(return_value)
Пример #5
0
def set_user_keyword_frequency_updated_flag(updated=False):
    """
    Set/update the 'updated' flag in user keyword frequency document.

    :param updated: Flag value (True/False)
    :return:
    """
    collection = yield db.get_user_keyword_frequency_collection()
    return_value = yield collection.update_many({}, {"$set": {"updated": updated}})
    defer.returnValue(return_value)
Пример #6
0
def update_user_keyword_frequency(user_id, keyword, frequency, updated=True):
    """
    Create or update user keyword frequency document.

    :param user_id:
    :param keyword:
    :param frequency:
    :param updated:
    :return:
    """
    collection = yield db.get_user_keyword_frequency_collection()
    return_value = yield collection.replace_one({
        'keyword': keyword,
        'user_id': user_id
        }, {
        'keyword': keyword,
        'user_id': user_id,
        'frequency': frequency,
        'updated': updated
        }, upsert=True)
    defer.returnValue(return_value)