Python中pymongo的简单使用

本文介绍了MongoDB的基本操作,包括如何使用Python的pymongo库进行数据的增删改查。首先展示了如何创建并插入数据到数据库和集合中,然后演示了删除数据,包括删除单条、多条以及清空集合。接着,文章讲解了更新数据,通过正则匹配对指定字段进行修改。最后,展示了查询数据的方法,包括按条件查询和限制返回结果的数量。
摘要由CSDN通过智能技术生成

注意: 在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

一,增

import pymongo

my_client = pymongo.MongoClient("mongodb://localhost:27017/")
# db_list = my_client.list_database_names()
# for db in db_list:
#     print(db)
my_db = my_client['vdb']

# col_list = my_db.list_collection_names()
#
# for col in col_list:
#     print(col)
my_col = my_db['sites']
# my_dict = {'baidu': 'http://www.baidu.com', 'google': 'goole.com'}
my_dict_list = [
    {'yahoo': 'yahoo.com', 'jj': 'jj.com'},
    {'off': 'off.com', 'hua': 'hua.com'}
]
res = my_col.insert_many(my_dict_list)
print(res.inserted_ids)

二,删

import pymongo

my_client = pymongo.MongoClient('mongodb://localhost:27017')
my_db = my_client['vdb']
my_col = my_db['sites']

# my_query = {'yahoo': 'yahoo.com'}
# my_col.delete_one(my_query)  # 删除一条

# my_query = {'baidu': {'$regex': '^w'}}  # 删除以w字符开头的所有文档
# my_col.delete_many(my_query)  # 删除多条

my_col.delete_many({})  # 清空文档

my_col.drop()  # 删除这个集合

for data in my_col.find():
    print(data)

三,改

import pymongo

my_client = pymongo.MongoClient("mongodb://localhost:27017")
my_db = my_client['vdb']
my_col = my_db['sites']

# my_query = {'baidu': 'http://www.baidu.com'}
my_query = {'baidu': {'$regex': '^h'}}
new_value = {'$set': {'baidu': 'www.baidu.com'}}
# res = my_col.update_one(my_query, new_value)  # 修改查询到的首行
res = my_col.update_many(my_query, new_value)  # 修改查询到的所有行
print(res.modified_count)
for data in my_col.find():
    print(data)

四,查

import pymongo

my_client = pymongo.MongoClient('mongodb://localhost:27017')
my_db = my_client['vdb']
my_col = my_db['sites']
# data = my_col.find_one()  # 查询单条数据
# print(data)

# datas = my_col.find()  # 查询全部数据
# for data in datas:
#     print(data)

# datas = my_col.find({}, {"_id": 0, "baidu": 1})
# for data in datas:
#     print(data)

datas = my_col.find({"baidu": "http://www.baidu.com"}).limit(1)
for data in datas:
    print(data)

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值