【pyMongo】python连接mongo数据库并进行插入和查找操作

pyMongo

python远程连接mongodb数据库

1. 安装

pip install pymongo

2. 连接

import pymongo as pmg
myclient=pmg.MongoClient(host=<ipaddr>,port="27017",username="root",password="******",authSource="admin")
#获取数据库列表
dblist = myclient.list_database_names()
print(dblist)

3. 连接到集合

#切换到数据库
mydb=myclient[<dbname>]
mydb.authenticate(USERname,USERpwd)
#切换到集合
mycol=mydb[<colname>]

4. 插入文档到集合

mydoc={"name": "hello mongo 333", "age": "19"}
obj=mycol.insert_one(mydoc)

这里要注意的是在插入文档的时候键名也需要加引号变为字符串,否则会被python识别成未定义的变量

5.查找

5.1 查找一条记录

result=mycol.find_one({key1:value1,key2:value2})
#相当于sql语句:
select * from dbname.tablename where key1=value1 and key2=value2 limit 1

5.2 lt、gt、lte、gte大小比较查找

result=mycol.find_one({key1:{"$lt":value1},key2:{"$gte":value2}})
#相当于sql语句:
select * from dbname.tablename where key1<value1 and key2>=value2 limit 1

5.3 and、or、not逻辑条件下的查找

result=mycol.find_one({"$or":[key1:{"$lt":value1},key2:{"$gte":value2}]})
#相当于sql语句:
select * from dbname.tablename where key1<value1 or key2>=value2 limit 1
####################################
result=mycol.find_one({key1:{"$not":{"$lt":value1}}})
#其实也就是:
result=mycol.find_one({key1:{"$gte":value1}})
#相当于sql语句:
select * from dbname.tablename where key1>=value1 limit 1

5.4 查找多条记录

result=mycol.find({key1:value1,key2:value2})
#相当于sql语句:
select * from dbname.tablename where key1=value1 and key2=value2
#查询到的结果实际上是一个迭代器,可调用next函数或者for循环依次取值
next(result)
#################
for re in result:
    print(re)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值