python操作mongodb

來源:互聯網
上載者:User

標籤:

import pymongo
import csv
import os
import datetime
class device1():
def conn(self):
global connetion
connetion=pymongo.MongoClient(‘10.10.5.199‘,27017)
def find_db(self,dbname1,table1,table2,path):

db1=connetion.get_database(dbname1) ##NGTenantTemplate databse
device_table=db1.get_collection(table1)

devicetype_table=db1.get_collection(table2)
_id=‘_id‘
typeName=‘typeName‘
mainType=‘mainType‘
vendor=‘vendor‘
action=‘action‘
enable=‘enable‘
parserOrder=‘parserOrder‘

name=‘name‘
path1=path+"\\chengpu.csv"
csvfile=open(path1,‘w‘,newline=‘‘)
writer=csv.writer(csvfile)
writer.writerow([‘ID‘,‘Device Type‘,‘Category‘,‘Default Vendor‘,‘Support Operation‘,‘Status‘,‘Parse Order‘])

device_data1=device_table.find({},{_id:‘True‘,typeName:‘True‘,mainType:‘True‘,vendor:‘True‘,action:‘True‘,enable:‘True‘,parserOrder:‘True‘})
for data in device_data1:
ID=data[_id]
DeviceType=data[typeName]
devicetype_data=devicetype_table.find_one({_id:data[mainType]},{name:1})
Category=devicetype_data[name]
DefaultVendor=data[vendor]
list_action=data[action]

SupportOperation0=[]
SupportOperation1={}
SupportOperation2=[]

for i in list_action:


if (i[‘actionEnable‘]==True):

SupportOperation0.append(i[‘actionType‘])
SupportOperation1[i[‘actionType‘]]=‘(1)‘
else:

SupportOperation0.append(i[‘actionType‘])
SupportOperation1[i[‘actionType‘]]=‘(0)‘

SupportOperation0.sort()
for k in SupportOperation0:
SupportOperation2.append(str(k)+SupportOperation1[k])

SupportOperation=‘|‘.join(SupportOperation2)
Status0=data[enable]
if (Status0==True):
Status=‘Enable‘
else:
Status=‘Disable‘
ParseOrder=data[parserOrder]
da=[ID,DeviceType,Category,DefaultVendor,SupportOperation,Status,ParseOrder]
#print (da)
writer.writerow(da)






if __name__=="__main__":
path=‘D:\\search\\aa\\bb‘
print ("starting download data from mongodb,please wait......")
datetime1=datetime.datetime.now()
dbname1=‘NGTenantTemplate‘
table1=‘DeviceType‘

table2=‘DeviceMainType‘
de=device1()
de.conn()
de.find_db(dbname1,table1,table2,path)
datetime2=datetime.datetime.now()
print ("done! download data cost:"+str((datetime2-datetime1)))

python操作mongodb

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.