В настоящее время я пишу сценарий переноса данных и вызываю следующую строку в функции в сценарии:
output_file.write(process_input_row(row, custom_field_map, args.entry_type, args.entry_prefix, args.book_name))
в рамках вызова process_input_row, я вставляю данные в текущую коллекцию, для которой она предназначена по умолчанию. то, что я хочу сделать, это вызвать стандарт «use Collection_Name», который вы обычно вызываете из оболочки mongo из скрипта python, чтобы он вставлял данные в правильную коллекцию.
Какой самый простой способ сделать это? Могу ли я добавить "из вызова импорта подпроцесса" в начало моего файла и сделать что-то вроде "call ('use Collection_Name')"?
Смотрите ниже:
with open(args.entries_file, newline='') as csv_input_file, open(args.output_file, 'w') as output_file:
reader = csv.reader(csv_input_file, delimiter=',', quotechar='"')
row_counter = 0
max_id = 0
for row in reader:
if int(row[1]) > max_id:
max_id = int(row[0])
output_file.write(process_input_row(row, custom_field_map, args.entry_type, args.entry_prefix, args.book_name))
row_counter = row_counter + 1
max_id += 1
# Switch to different collection here
call('use Collection_Name')
Заранее спасибо!