Python如何在windows下使用mongodb

必備專屬

Python >= 3.2
six >= 1.10
mongodb >= 3.6
pymongo >= 3.6
mongoengine

一、安裝mongodb,保證系統(tǒng)中安裝了mongodb服務(wù)并啟動,安裝方法如下:

  1. 官方下載mongodb

  2. 創(chuàng)建db存儲目錄(可自定)

     md  e:\mongodb\data
    
  3. 打開cmd并設(shè)置dbpath

     "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" --dbpath "e:\mongodb\data"
    
  4. 使用mongod.exe啟動mongodb服務(wù),主要打開database進(jìn)程

     "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe"
    
  5. 使用mongo.exe 連接mongodb數(shù)據(jù)庫

三、安裝pymongo

//  pip安裝
$ python -m pip install pymongo
// easy_install安裝
$ python -m easy_install pymongo
// 下載git源安裝
$ python setup.py install

test_connection.py

>>> import pymongo
>>> client = pymongo.MongoClient("localhost", 27017)
>>> db = client.test
>>> db.name
u'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), u'test'), u'my_collection')
>>> db.my_collection.insert_one({"x": 10}).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({"x": 8}).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({"x": 11}).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{u'x': 10, u'_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
...     print(item["x"])
...

三、安裝mongoengine(通常django用此依賴操作mongodb)

pymongo來操作MongoDB數(shù)據(jù)庫,但是直接把對于數(shù)據(jù)庫的操作代碼都寫在腳本中,這會讓應(yīng)用的代碼耦合性太強(qiáng),而且不利于代碼的優(yōu)化管理

MongoEngine是一個對象文檔映射器(ODM),相當(dāng)于一個基于SQL的對象關(guān)系映射器(ORM)

MongoEngine提供的抽象是基于類的,創(chuàng)建的所有模型都是類

Examples

from mongoengine import *
connect('test')

class BlogPost(Document):
    title = StringField(required=True, max_length=200)
    posted = DateTimeField(default=datetime.datetime.utcnow)
    tags = ListField(StringField(max_length=50))
    meta = {'allow_inheritance': True}

class TextPost(BlogPost):
    content = StringField(required=True)

class LinkPost(BlogPost):
    url = StringField(required=True)

# Create a text-based post
>>> post1 = TextPost(title='Using MongoEngine', content='See the tutorial')
>>> post1.tags = ['mongodb', 'mongoengine']
>>> post1.save()

# Create a link-based post
>>> post2 = LinkPost(title='MongoEngine Docs', url='hmarr.com/mongoengine')
>>> post2.tags = ['mongoengine', 'documentation']
>>> post2.save()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容