Python操作MongoDB 新建不同的collection 批量插入数据库
不多说, 看代码:
import pymongo
import json
con = pymongo.MongoClient('localhost', 27017)
mydb = con.mydb # new a database
#mydb.add_user('test', 'test') # add a user
#mydb.authenticate('test', 'test') # check auth
'''
muser = mydb.user # new a table
muser.save({'id': 1, 'name': 'test'}) # add a record
muser.insert({'id': 2, 'name': 'hello'}) # add a record
muser.insert({'name':'xiaoming','age':12, 'sex':'men'})
#print((muser.find()))
#print(muser)
print(muser.find_one({'id': 1})) # find a record
print(muser.find_one({'id': 2})) # find a record by query
muser.create_index('id')
muser.find().sort('id', pymongo.ASCENDING) # DESCENDING
# muser.drop() delete table
muser.find({'id': 1}).count() # get records number
muser.find({'id': 1}).limit(3).skip(2) # start index is 2 limit 3 records
muser.remove({'id': 1}) # delet records where id = 1
muser.remove({'name': 'xiaoming'})
muser.remove({'id': 2})
muser.update({'id': 2}, {'$set': {'name': 'haha'}}) # update one recor
'''
#mzf_fundinordermain = mydb.zf_fundinordermain
#mzf_fundinordermain.save({'SYSTEMNO': '35112017010917175637400000', 'SYSTEMTIME': '20170109171849513','TXTYPE':'1361','INSTITUTIONID':'000020','SETTLEMENTFLAG':'','SOURCETXSN':'201701091717176126107176586','SOURCETXTIME':'20170109171848542','ROOTID':'22212017010917175540400000','CONTEXTID':'30112017010917175618900000','BUSINESSTYPE':'12','ACTIONTYPE':'12','ACCOUNTTIME':'20170109171828825','STATUS':'20','RESPONSETIME':'20170109171850766','RESPONSECODE':'2000','RESPONSEMESSAGE':'OK.','ISRECORD':0})
#insert_many() 批量插入 insert_one() 单条插入数据库
#json.loads()
j = json.loads(open('D:\\data.txt').read(),encoding='utf-8')
print(type(j),j)
for i in j:
mi = mydb[i] #根据不同都i 新建不一样都collecions
print(i)
mi.insert_many(j[i])
print(j[i])
#k = json.dumps(j,encoding='utf-8').decode('utf-8')
#print(k)
数据形式:
{"table1":"[{\"key1\":\"aaa\",\"key2\":\"bbb\",\"key3\":\"ccc\"},{\"key1\":\"a1a\",\"key2\":\"b2b\",\"key3\":\"c3c\"}]","table2":"[{\"key1\":\"aaa\",\"key2\":\"bbb\",\"key3\":\"ccc\"},{\"key1\":\"a1a\",\"key2\":\"b2b\",\"key3\":\"c3c\"}]"}