mirror of
https://github.com/vee1e/bulk-questionnaire-upload.git
synced 2026-09-01 17:57:10 +00:00
optimize db fetches
This commit is contained in:
parent
8dde77c128
commit
8770a2f7f9
1 changed files with 8 additions and 12 deletions
|
|
@ -25,16 +25,14 @@ class DatabaseService:
|
||||||
async def save_questions(self, questions: List[Dict[str, Any]], form_id: str) -> List[str]:
|
async def save_questions(self, questions: List[Dict[str, Any]], form_id: str) -> List[str]:
|
||||||
"""Save questions to database"""
|
"""Save questions to database"""
|
||||||
try:
|
try:
|
||||||
question_ids = []
|
if not questions:
|
||||||
|
return []
|
||||||
for question in questions:
|
for question in questions:
|
||||||
question['form_id'] = form_id
|
question['form_id'] = form_id
|
||||||
question['_id'] = ObjectId()
|
question['_id'] = ObjectId()
|
||||||
|
result = await questions_collection.insert_many(questions)
|
||||||
result = await questions_collection.insert_one(question)
|
|
||||||
question_ids.append(str(result.inserted_id))
|
|
||||||
|
|
||||||
logger.info(f"Saved {len(questions)} questions for form {form_id}")
|
logger.info(f"Saved {len(questions)} questions for form {form_id}")
|
||||||
return question_ids
|
return [str(oid) for oid in result.inserted_ids]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error saving questions: {e}")
|
logger.error(f"Error saving questions: {e}")
|
||||||
raise e
|
raise e
|
||||||
|
|
@ -42,16 +40,14 @@ class DatabaseService:
|
||||||
async def save_options(self, options: List[Dict[str, Any]], form_id: str) -> List[str]:
|
async def save_options(self, options: List[Dict[str, Any]], form_id: str) -> List[str]:
|
||||||
"""Save answer options to database"""
|
"""Save answer options to database"""
|
||||||
try:
|
try:
|
||||||
option_ids = []
|
if not options:
|
||||||
|
return []
|
||||||
for option in options:
|
for option in options:
|
||||||
option['form_id'] = form_id
|
option['form_id'] = form_id
|
||||||
option['_id'] = ObjectId()
|
option['_id'] = ObjectId()
|
||||||
|
result = await options_collection.insert_many(options)
|
||||||
result = await options_collection.insert_one(option)
|
|
||||||
option_ids.append(str(result.inserted_id))
|
|
||||||
|
|
||||||
logger.info(f"Saved {len(options)} options for form {form_id}")
|
logger.info(f"Saved {len(options)} options for form {form_id}")
|
||||||
return option_ids
|
return [str(oid) for oid in result.inserted_ids]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error saving options: {e}")
|
logger.error(f"Error saving options: {e}")
|
||||||
raise e
|
raise e
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue