91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python調用MongoDB的方法

發布時間:2021-03-09 14:16:29 來源:億速云 閱讀:269 作者:小新 欄目:數據庫

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

  使用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的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涿鹿县| 白水县| 兴城市| 九江市| 贡嘎县| 合水县| 若尔盖县| 安龙县| 旺苍县| 上饶县| 司法| 工布江达县| 长治县| 西乡县| 锡林郭勒盟| 体育| 新野县| 兴隆县| 安徽省| 哈巴河县| 万载县| 武定县| 栾城县| 长兴县| 定西市| 应用必备| 缙云县| 康平县| 菏泽市| 来凤县| 汶上县| 平和县| 崇阳县| 通化市| 房山区| 白银市| 白玉县| 孝昌县| 梅河口市| 武清区| 合江县|