本文整理汇总了Python中db.Database._add_qs方法的典型用法代码示例。如果您正苦于以下问题:Python Database._add_qs方法的具体用法?Python Database._add_qs怎么用?Python Database._add_qs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类db.Database
的用法示例。
在下文中一共展示了Database._add_qs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: insert_qs
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import _add_qs [as 别名]
def insert_qs():
Database.db.drop_collection(Database.qs)
Database.db.drop_collection(Database.db.qs_place)
# drop index for fast insertion
Database.qs.drop_indexes()
Database.qs.ensure_index("_id")
Database.db.qs_place.drop_indexes()
Database.db.qs_place.ensure_index("_id")
studies = Database.studies.find()
print studies.count(), 'studies found in the db'
for i, study in enumerate(studies):
study_id = str(study['_id'])
places_ids = study['places_id']
# NOTE: places_ids are objectids, we need strings
places_ids = [str(place) for place in places_ids]
# add a score for each location in the given study
for place_id in places_ids:
Database._add_qs_place(place_id, study_id)
#find all the locations used by this study and update/create qs entries
locations = Database.locations.find({'place_id' : {'$in' : places_ids}})
# update/create a qs field for every study, location pair
print 'processing study', i+1, study['study_name'], 'with', locations.count(), 'locations from', len(places_ids), 'places'
ninserts = 0
for loc in locations:
place_id = str(loc['place_id'])
location_id = str(loc['_id'])
result = Database._add_qs(location_id, place_id, study_id)
ninserts += 1
print 'finished processing study', study['study_name'], 'ninserts:', ninserts
示例2: str
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import _add_qs [as 别名]
sys.path.append(os.path.dirname(CURRENT_DIR))
from db import Database
question = sys.argv[1]
study = Database.studies.find_one()
del study['_id']
study['study_name'] = question
study['study_question'] = question
study_id = str(Database.studies.insert(study))
places_ids = study['places_id']
# NOTE: places_ids are objectids, we need strings
places_ids = [str(place) for place in places_ids]
# add a score for each location in the given study
for place_id in places_ids:
Database._add_qs_place(place_id, study_id)
#find all the locations used by this study and update/create qs entries
locations = Database.locations.find({'place_id' : {'$in' : places_ids}})
# update/create a qs field for every study, location pair
print 'adding study', study['study_name'], 'with', locations.count(), 'locations from', len(places_ids), 'places'
ninserts = 0
for loc in locations:
place_id = str(loc['place_id'])
location_id = str(loc['_id'])
result = Database._add_qs(location_id, place_id, study_id)
ninserts += 1
print 'finished processing study', study['study_name'], 'ninserts:', ninserts