• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python操作三大数据库 – MongoDB

python 搞java代码 3年前 (2022-05-21) 30次浏览 已收录 0个评论

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于我偶像龟叔 ,作者我偶像龟叔

 

1、pymongo安装

<code><span class="hljs-attribute">pip install <a href="https://www.gaodaima.com/tag/pymongo" title="查看更多关于pymongo的文章" target="_blank">pymongo</a></span></code>

www#gaodaima.com来源gao($daima.com搞@代@#码(网搞代码

2、MongoClient连接(连接池)

MongoClient是MongoDB的客户端代理对象,可以用来执行增删查改操作,而且还内置了连接池

<code>=<span class="hljs-keyword">import pymongo
client = pymongo.MongoClient(host=<span class="hljs-string">"localhost", port=<span class="hljs-number">27017) <span class="hljs-comment">#建立连接池</span></span></span></span></code>

3、创建数据库与集合

创建数据库与集合后,需要在集合插入数据,数据库与集合才会真正创建。

<code><span class="hljs-attr">_db = client[<span class="hljs-string">"test_database"] <span class="hljs-comment">#创建数据库
<span class="hljs-attr">_col = _db[<span class="hljs-string">"test_collection"] <span class="hljs-comment">#创建集合</span></span></span></span></span></span></code>

4、添加数据

添加数据后,数据库与集合才是真正意义上的创建完成:

<code><span class="hljs-comment"># 插入单条数据
data = {
    <span class="hljs-string">"author": <span class="hljs-string">"Mike",
    <span class="hljs-string">"tags": [<span class="hljs-string">"mongodb", <span class="hljs-string">"python", <span class="hljs-string">"pymongo"],
}
<span class="hljs-comment"># 此处插入一条数据,打印结果数据库与集合都创建了
insert = _col.insert_one(data) <span class="hljs-comment"># <pymongo.results.InsertOneResult object at 0x0000000003E99488>
_col_id = insert.inserted_id
print(client.list_database_names()) <span class="hljs-comment"># 结果:["test_database"]
print(_db.list_collection_names()) <span class="hljs-comment"># 结果:["test_collection"]

<span class="hljs-comment"># 批量插入数据
many_data = [
    {
        <span class="hljs-string">"author": <span class="hljs-string">"Mike",
        <span class="hljs-string">"tags": [<span class="hljs-string">"mongodb", <span class="hljs-string">"python", <span class="hljs-string">"pymongo"],
    },
    {
        <span class="hljs-string">"author": <span class="hljs-string">"Eliot",
        <span class="hljs-string">"tags": [<span class="hljs-string">"java", <span class="hljs-string">"docker", <span class="hljs-string">"Spring"],
    }
]
insert_many = _col.insert_many(many_data) <span class="hljs-comment"># <pymongo.results.InsertManyResult object at 0x0000000003E99408>
_col_ids = insert_many.inserted_ids</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

5、查找、修改、删除数据

示例代码如下:

<code><span class="hljs-comment"># 查找单个集合
info = _col.find_one()
info_2 = _col.find_one({<span class="hljs-string">"author": <span class="hljs-string">"Mike"}) <span class="hljs-comment">#带条件

<span class="hljs-comment"># 查找全部集合
infoAll = _col.find()
infoAll_2 = _col.find({<span class="hljs-string">"_id": _col_id}) <span class="hljs-comment">#带条件

<span class="hljs-comment"># -------------------------find end-----------------------

<span class="hljs-comment"># 修改数据
<span class="hljs-built_in">where = {<span class="hljs-string">"author": <span class="hljs-string">"Mike"}
update = {<span class="hljs-string">"$set": {<span class="hljs-string">"author": <span class="hljs-string">"Mike_2"}}
_col.update_one(<span class="hljs-built_in">where, update)
_col.update_many(<span class="hljs-built_in">where, update)

<span class="hljs-comment"># -------------------------update end-----------------------

<span class="hljs-comment"># 删除数据
<span class="hljs-built_in">where = {<span class="hljs-string">"author": <span class="hljs-string">"Mike"}
_col.delete_one(<span class="hljs-built_in">where) <span class="hljs-comment">#删除条件单条数据
_col.delete_many(<span class="hljs-built_in">where) <span class="hljs-comment">#删除条件多条数据
_col.delete_many({}) <span class="hljs-comment">#删除所有数据
_col.drop() <span class="hljs-comment">#删除集合</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

6、杂项

示例代码如下:

<code><span class="hljs-comment"># 统计数量
<span class="hljs-attr">count = _col.count_documents({}) <span class="hljs-comment">#花括号条件为空

<span class="hljs-comment"># 排序
<span class="hljs-attr">sort = _col.find({}).sort(<span class="hljs-string">"author")</span></span></span></span></span></span></code>

7、索引

示例代码如下:

<code><span class="hljs-string">"""
    索引 
    pymongo.ASCENDING : 1
    pymongo.DESCENDING : -1
    索引对排序的规则:
    1、单键索引:排序规则可以是任意方向
    2、复合索引:所有的键必须"全部相同"与"全部不相同"
    该博客有很好的解释:https://www.gaodaima.com/jerryJavaCoding/article/details/82317840
"""
_col.create_index([(<span class="hljs-string">"a", pymongo.DESCENDING)])
_col.create_indexes({<span class="hljs-string">"a": pymongo.ASCENDING, <span class="hljs-string">"b": pymongo.DESCENDING})
_col.drop_index(<span class="hljs-string">"a")</span></span></span></span></span></code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python操作三大数据库 – MongoDB

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址