美文网首页我爱编程
Python如何在windows下使用mongodb

Python如何在windows下使用mongodb

作者: 未来与传说 | 来源:发表于2018-01-22 23:05 被阅读0次

    必备专属

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

    一、安装mongodb,保证系统中安装了mongodb服务并启动,安装方法如下:

    1. 官方下载mongodb

    2. 创建db存储目录(可自定)

       md  e:\mongodb\data
      
    3. 打开cmd并设置dbpath

       "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" --dbpath "e:\mongodb\data"
      
    4. 使用mongod.exe启动mongodb服务,主要打开database进程

       "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe"
      
    5. 使用mongo.exe 连接mongodb数据库

    三、安装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数据库,但是直接把对于数据库的操作代码都写在脚本中,这会让应用的代码耦合性太强,而且不利于代码的优化管理

    MongoEngine是一个对象文档映射器(ODM),相当于一个基于SQL的对象关系映射器(ORM)

    MongoEngine提供的抽象是基于类的,创建的所有模型都是类

    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()
    

    相关文章

      网友评论

        本文标题:Python如何在windows下使用mongodb

        本文链接:https://www.haomeiwen.com/subject/rworaxtx.html