精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

Python調用MongoDB的方法

這篇文章將為大家詳細講解有關Python調用MongoDB的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯公司一直通過網站建設和網站營銷幫助企業獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務,以成都網站建設、成都網站制作、移動互聯產品、營銷型網站建設服務為核心業務。10年網站制作的經驗,使用新網站建設技術,全新開發出的標準網站,不但價格便宜而且實用、靈活,特別適合中小公司網站制作。網站管理系統簡單易用,維護方便,您可以完全操作網站資料,是中小公司快速網站建設的選擇。

使用pymongo對MongoDB進行的各種操作,下載相應平臺的版本,解壓即可。為方便使用,將bin路徑添加到系統path環境變量里。其中mongod是服務器,mongo是客戶shell,然后創建數據文件目錄:在c盤下創建data文件夾,里面創建db文件夾。

Python怎么調用MongoDB

安裝對應語言的Driver,Python安裝pymongo

  $easy_installpymongo

使用方法總結,摘自官方教程

創建連接

  >>>importpymongo
  >>>connection=pymongo.Connection('localhost',27017)

切換數據庫

  >>>db=connection.test_database

獲取collection

  >>>collection=db.test_collection

db和collection都是延時創建的,在添加Document時才真正創建

文檔添加,_id自動創建

  >>>importdatetime
  >>>post={"author":"Mike",
  ..."text":"Myfirstblogpost!",
  ..."tags":["mongodb","python","pymongo"],
  ..."date":datetime.datetime.utcnow()}
  >>>posts=db.posts
  >>>posts.insert(post)
  ObjectId('...')

批量插入

  >>>new_posts=[{"author":"Mike",
  ..."text":"Anotherpost!",
  ..."tags":["bulk","insert"],
  ..."date":datetime.datetime(2009,11,12,11,14)},
  ...{"author":"Eliot",
  ..."title":"MongoDBisfun",
  ..."text":"andprettyeasytoo!",
  ..."date":datetime.datetime(2009,11,10,10,45)}]
  >>>posts.insert(new_posts)
  [ObjectId('...'),ObjectId('...')]

獲取所有collection(相當于SQL的showtables)

  >>>db.collection_names()
  [u'posts',u'system.indexes']

獲取單個文檔

  >>>posts.find_one()
  {u'date':datetime.datetime(...),u'text':u'Myfirstblogpost!',u'_id':ObjectId('...'),u'author':u'Mike',u'tags':[u'mongodb',u'python',u'pymongo']}

查詢多個文檔

  >>forpostinposts.find():
  ...post
  ...
  {u'date':datetime.datetime(...),u'text':u'Myfirstblogpost!',u'_id':ObjectId('...'),u'author':u'Mike',u'tags':[u'mongodb',u'python',u'pymongo']}
  {u'date':datetime.datetime(2009,11,12,11,14),u'text':u'Anotherpost!',u'_id':ObjectId('...'),u'author':u'Mike',u'tags':[u'bulk',u'insert']}
  {u'date':datetime.datetime(2009,11,10,10,45),u'text':u'andprettyeasytoo!',u'_id':ObjectId('...'),u'author':u'Eliot',u'title':u'MongoDBisfun'}

加條件的查詢

  >>>posts.find_one({"author":"Mike"})

高級查詢

  >>>posts.find({"date":{"$lt":d}}).sort("author")

統計數量

  >>>posts.count()
  3

加索引

 >>>frompymongoimportASCENDING,DESCENDING
  >>>posts.create_index([("date",DESCENDING),("author",ASCENDING)])
  u'date_-1_author_1'

查看查詢語句的性能

>>>posts.find({"date":{"$lt":d}}).sort("author").explain()["cursor"]
  u'BtreeCursordate_-1_author_1'
  >>>posts.find({"date":{"$lt":d}}).sort("author").explain()["nscanned"]
  2

附自己總結的一點小心得,僅供參考

缺點

不是全盤取代傳統數據庫(NOSQLFan:是否能取代需要看應用場景)

不支持復雜事務(NoSQLFan:MongoDB只支持對單個文檔的原子操作)

文檔中的整個樹,不易搜索,4MB限制?(NoSQLFan:1.8版本已經修改為16M)

特點(NoSQLFan:作者在這里列舉的很多只是一些表層的特點):

文檔型數據庫,表結構可以內嵌

沒有模式,避免空字段開銷(SchemaFree)

分布式支持

查詢支持正則

動態擴展架構

32位的版本最多只能存儲2.5GB的數據(NoSQLFan:最大文件尺寸為2G,生產環境推薦64位)

關于“Python調用MongoDB的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


標題名稱:Python調用MongoDB的方法
URL標題:http://m.jcarcd.cn/article/jesgih.html
主站蜘蛛池模板: 亚洲无码他人妻中 | 欧美亚洲国产精品第 | 日本在线播放 | 国产喷水1 | 日韩欧美美女中文 | 91视频国产精品 | 91福利合集| 果冻传媒老狼一卡 | 最新日韩欧美不卡一二三区 | 国产69永| 欧美日韩中文字幕免 | 老妇炕上偷老汉 | 成人免费午夜无 | 91啦丨九色丨刺激 | 91影视网 | 青青草精品在线视 | 国内精品在线观看看 | 成人v视频网 | 精品电影在线观看 | 成人午夜亚洲精品无 | 女同另类激情重口 | 国产精品网友自拍 | 国产91福利在线 | 欧美日韩欧美 | 国产区精品区自拍 | 欧美另类日韩成人 | 国产在线一品 | 97在线观看视频 | 日韩女同精品一区二 | 国产视频福利在线 | 另类图片五月天综合 | 日韩午夜福利在线 | 国产精品免费 | 91福利国产在| 国内偷拍第一页 | 国产情品一区二区 | 欧美在线视频一区 | 日韩精品天堂系列 | 国内偷视频在线观看 | 国产高清网站 | 午夜影视 |