python操作mongodb数据库 |
您所在的位置:网站首页 › mongo查看集合 › python操作mongodb数据库 |
查询集合中第一个条数据
使用 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 |