python操作mongodb数据库

您所在的位置:网站首页 mongo查看集合 python操作mongodb数据库

python操作mongodb数据库

2023-09-23 23:26| 来源: 网络整理| 查看: 265

查询集合中第一个条数据

使用 find_one() 方法来查询集合中的一个文档数据。

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") # 连接数据库 mydb = myclient["test"] # 指定数据库 mycol = mydb["sites"] # 指定集合 x = mycol.find_one() # 查询集合中第一条数据 print(x) # 输出

查询集合中所有数据

 find() 方法可以查询集合中的所有文档,类似 SQL 中的 SELECT * 操作。

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] for x in mycol.find(): # 查询集合中所有文档数据并且遍历 print(x) # 输出

 输出:

查询指定字段的数据

使用 find() 方法来查询指定字段的数据,将要返回的字段对应值设置为 1。

不需要返回的字段可以不设置,_id字段默认值为1。

除了 _id 你不能在一个对象中同时指定 0 和 1,如果你设置了一个字段为 0,则其他都为 1,反之亦然。

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] print('打印集合中所有数据') for x in mycol.find(): print(x) print('打印集合中指定字段数据') # _id默认为1,指定为0就不会查询到这个字段了,只查询到alexa这个字段 for x in mycol.find({}, {"_id":0,"alexa": 1}): print(x)

 输出:

根据指定条件查询集合数据

我们可以在 find() 中设置参数来过滤数据。

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] myquery = {"name": "淘宝"} mydoc = mycol.find(myquery) for x in mydoc: # 输出查询到的集合数据 print(x)

输出:

 高级筛选 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] print('过滤前输出') for x in mycol.find(): print(x) # 读取 name 字段中第一个字母 ASCII 值大于 "H" 的数据,大于的修饰符条件为 {"$gt": "H"} : myquery = {"name": {"$gt": "H"}} # gt:大于,lt:小于,eq:等于 mydoc = mycol.find(myquery) print('过滤后输出') for x in mydoc: print(x)

输出:

使用正则表达式查询

我们还可以使用正则表达式作为修饰符。

正则表达式修饰符只用于搜索字符串的字段。

以下实例用于读取 name 字段中第一个字母为 "R" 的数据,正则表达式修饰符条件为 {"$regex": "^R"} :

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] print('过滤前输出') for x in mycol.find(): print(x) myquery = {"name": {"$regex": "^F"}} # 筛选条件 mydoc = mycol.find(myquery) # 过滤 print('正则过滤后输出') for x in mydoc: print(x)

输出:

 返回指定条数记录

指定条数的记录可以使用 limit() 方法,该方法只接受一个数字参数。

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mycol = mydb["sites"] myresult = mycol.find().limit(2) # 指定返回2条数据 print('输出') for x in myresult: print(x)

输出:

打卡第52天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3