вставка нескольких строк в монго - PullRequest
0 голосов
/ 12 октября 2018

У меня есть кадр данных pandas, как показано ниже: -

enter image description here

Я использую приведенный ниже код и вставляю данные в mongodb: -

mydb = conn["mydatabase"]
mycol = mydb["test"]

x = results_df["user"] # result_df is the data frame.

for item in x:
    mycol.collection.insert({"user" : item , },check_keys= False)

В следующем формате: -

{ "_id" : ObjectId("5bc0df186b3f65f926bceaeb"), "user" : ".287aa7e54ebe4088ac0a7983df4e4a28.@fnwp.vivox.com" }
{ "_id" : ObjectId("5bc0df186b3f65f926bceaec"), "user" : ".8f47cf677f9b429ab13245e12ce2fdda.@fnwp.vivox.com" }
{ "_id" : ObjectId("5bc0df186b3f65f926bceaed"), "user" : ".9ab4cdcc2cd24c9688f162817cbbbf34.@fnwp.vivox.com" }

Я хочу вставить больше строк в каждый идентификатор объекта, как показано ниже: -

{ "_id" : ObjectId("5bc0df186b3f65f926bceaeb"), "user" : ".287aa7e54ebe4088ac0a7983df4e4a28.@fnwp.vivox.com", "ua":"Vivox-SDK-4.9.0002.29794O" , "type":"vx_pp_log"}

Я хочу вставить миллиардытаких строк, и хотелось бы, чтобы они были динамическими, как это может быть в будущем, я добавлю больше строк.

1 Ответ

0 голосов
/ 12 октября 2018

Вот, пожалуйста: -

mydb = conn["testdb"]
mycol = mydb["test"]

user =  results_df['user']
ua = results_df['ua']
time = results_df['@timestamp']

df = pd.DataFrame({'user': user, 'ua': ua, 'time': time}) # keep increasing the columns 

mycol.collection.insert(df.to_dict('records'))
...