-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmongo_load.py
25 lines (23 loc) · 852 Bytes
/
mongo_load.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import jsonlines
from pymongo import MongoClient
import plac
@plac.annotations(
input_file=("JSONL of tasks to load", "option", "i", str),
coll_name=("Collectionto load into", "option", "c", str),
db_name=("Database to load into", "option", "d", str))
def load(input_file, coll_name, db_name = "gsr"):
# quick script for updating Mongo tasks
with jsonlines.open(input_file, "r") as f:
to_load = list(f.iter())
for i in to_load:
i['seen'] = 0
i['coders'] = []
print("Loading into db {0}, collection {1}".format(db_name, coll_name))
client = MongoClient('mongodb://localhost:27017/')
db = client[db_name]
coll = db[coll_name]
print("Before loading:", coll.count())
coll.insert_many(to_load)
print("After loading:", coll.count())
if __name__ == "__main__":
plac.call(load)