MongoDB与python的交互

MongoDB与python的交互

1.安装

先安装需要用到对应的库(在cmd中输入):

pip install pymongo -i https://pypi.douban.com/simple

2.连接

conn = py.mongo.MongoClient()  # 默认连接到本地的mongo

conn = pymongo.MongoClient('127.0.0.1','27017')  ip地址 端口号

一.交互

下面展示一些 内联代码片

;
import pymongo
# 1.连接到mongodb数据库(相当于在命令行输入mongo)
conn = pymongo.MongoClient()  # 连接对象


# 2.切换选择数据库
print(conn.list_database_names())
#输出结果(这是我的数据库):['admin', 'config', 'demo', 'hbl', 'local'] 

# 2.1 选择数据库
db = conn.get_database('hbl')

# 2.2
db1 = conn['hbl']

# 3.查看当前数据库下有哪些表
print(db.list_collection_names())
# 输出结果(这是我hbl数据库中所有的表):['test', 'stu2', 'test2', 'stu1']

# 4.选择表 插入数据
# 插入一条数据
#db.get_collection('stu1').insert_one({'time':'2023年10月16日'})
# 插入多条数据
# db['stu1'].insert_many([{'name':'jack'},{'age':20}])



# 5.往hbl数据库下的stu1表中插入一条数据
conn['hbl']['stu1'].insert_one({'name':'jake'})

# 6.输出hbl表中所有数据
res = conn['hbl']['stu1'].find()
print(res)
for i in res:
    print(i)

二.面向对象实现

以下是用面向对象写出的代码实现

import pymongo
class MongoDB_spider21():
    def __init__(self):
        # 连接数据库
        self.conn = pymongo.MongoClient()
        # 切换数据库 选择操作的表
        self.db = self.conn['hbl']['stu1']

    # 插入一条数据
    def add_one(self,k):
        self.db.insert_one(k)
    # 插入多条数据
    def add_many(self,k):
        self.db.insert_many(k)
    # 查询所有数据
    def get_many(self):
        res = self.db.find()

        return res
    # 修改一条数据
    def update_ong(self, old, new):
        self.db.update_one(old,new)
    def update_many(self, old, new):
        self.db.update_many(old,new)

    # 删除一条数据
    def delete_one(self, k):
        self.db.delete_one(k)

    # 删除多条数据
    def delete_many(self, k):
        self.db.delete_many(k)

if __name__ == '__main__':
    # 创建对象
    m = MongoDB_spider21()
    # 调用 插入一条
    m.add_one({'name':'韩雪'})
    # 插入多条
    m.add_many([{'name':'韩雪'}{'age':20}])
    # 查询数据
    r = m.get_many()
    # print(r) # <pymongo.cursor.Cursor object at 0x0000016EEF653F98>
    for i in r:
        print(i)

    # 修改一条数据
    m.update_ong({'name':'jack'},{'$set':{'name':'杰克'}})
    # 修改多条数据
    m.update_many({'name':'杰克'},{'$set':{'name':'jack'}})
    # 删除一条数据
    m.delete_one({'name':'jack'})
    # 删除多条数据
    m.delete_many({'name':'jack'})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值