Mongodb笔记十二:连接数据库读取

前提: 

     本教程假定MongoDB正在默认主机和端口上运行。假设您已经下载并安装了 MongoDB,您可以这样启动它:

      $ mongod

     

      

一、安装pymongo

       官方文档:https://api.mongodb.com/python/current/tutorial.html

       pip install pymongo

       

        安装完成后会在python的安装路径下的lib-->site-packages中生成下面2个文件

       

二、连接数据库

       我的mongo数据库

       

        使用PyMongo时的第一步是创建一个 MongoClient 实例。

    >>> from pymongo import MongoClient
    >>> client = MongoClient('localhost', 27017)

三、获取数据库  

        >>> db = client.test_database

        如果您的数据库名称使用属性样式访问不起作用(例如test-database),则可以使用字典样式访问:

        >>> db = client['test-database']

四、获得集合

    >>> collection = db.test_collection

         或(使用字典样式访问):

         >>> collection = db['test-collection']

        关于MongoDB中的集合(和数据库)的一个重要注意事项是它们是懒惰创建的 - 上述命令都没有在MongoDB服务器上实际          执行过任何操作。将第一个文档插入其中时,将创建集合和数据库。

        

from pymongo import MongoClient
import datetime
import pprint

# 连接数据库
client = MongoClient('localhost', 27017)
# 获取数据库
db = client.test
# 获取集合
collection = db.singer
# 从集合中获取第一个文档
pprint.pprint(collection.find_one())
# 获取所有文档
data = collection.find()
# print(data)
# 通过遍历游标获取数据
for cur in data:
    print(cur)

五、文件

        使用JSON样式的文档表示(并存储)MongoDB中的数据。在PyMongo中,我们使用字典来表示文档。例如,以下字典可          能用于表示博客帖子:

    >>> import datetime
    >>> post = {"author": "Mike",
    ...         "text": "My first blog post!",
    ...         "tags": ["mongodb", "python", "pymongo"],
    ...         "date": datetime.datetime.utcnow()}

         请注意,文档可以包含本机Python类型(如datetime.datetime实例),这些类型 将自动转换为适当的BSON类型。

六、插入文档

        要将文档插入集合,我们可以使用以下 insert_one()方法:

    >>> posts = db.posts
    >>> post_id = posts.insert_one(post).inserted_id
    >>> post_id
    ObjectId('...')

         插入文档时"_id",如果文档尚未包含"_id"密钥,则会自动添加特殊键。"_id"整个集合中的值必须是唯一的。                             insert_one()返回一个实例InsertOneResult。有关更多信息"_id",请参阅_id上的文档

         插入第一个文档后,实际上已在服务器上创建了posts集合。我们可以通过列出我们数据库中的所有集合来验证这一点:

    >>> db.list_collection_names()
    [u'posts']

       db.admin.insert_one({ "name':"caocao", "age":998 })

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值