Python MongoDB – 查找
MongoDB 是一个跨平台的面向文档的数据库程序,也是最流行的 NoSQL 数据库程序。 NoSQL 一词的意思是非关系型的。 MongoDB 以键值对的形式存储数据。它是一个开源文档数据库,可提供高性能和可扩展性以及企业应用程序中大量数据的数据建模和数据管理。 MongoDB 还提供了 Auto-Scaling 的功能。它使用类似 JSON 的文档,这使得数据库非常灵活和可扩展。
从集合或数据库中查找数据
在 MongoDB 中,有 2 个函数用于从集合或数据库中查找数据。
- 找一个()
- 寻找()
找一个()
在 MongoDB 中,要从集合中选择数据,我们使用find_one()
方法。它返回选择中第一个出现的信息并作为输出返回。在find_one()
方法中不需要参数,因为它会从数据库中获取第一次出现的信息。
示例 1:从学生的集合/数据库中查找第一个文档。
让我们假设数据库看起来像这样 -
Python3
# Python program to demonstrate
# find_one()
import pymongo
mystudent = pymongo.MongoClient('localhost', 27017)
# Name of the database
mydb = mystudent["gfg"]
# Name of the collection
mycol = mydb["names"]
x = mycol.find_one()
print(x)
Python3
import pymongo
# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)
# Name of the database
mydb = my_client["gfg"]
# Name of the collection
mynew = mydb["names"]
for x in mycol.find():
print(x)
Python3
import pymongo
# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)
# Name of the database
mydb = my_client["gfg"]
# Name of the collection
mynew = mydb["names"]
for x in mycol.find({}, {"_id":0, "name": 1, "address": 1 }):
print(x)
输出 :
寻找()
find()
方法用于从数据库中选择数据。它返回存储在集合中的所有信息。它有两种类型的参数, find()
方法的第一个参数是查询对象。在下面的示例中,我们将使用一个空的 Query 对象,它将从集合中选择所有信息。
注意:它的工作原理与不带任何参数的SELECT*相同。
例子:
Python3
import pymongo
# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)
# Name of the database
mydb = my_client["gfg"]
# Name of the collection
mynew = mydb["names"]
for x in mycol.find():
print(x)
输出 :
find() 方法的第二个参数是您可以指定要包含在结果中的字段。 find() 方法中传递的第二个参数是描述字段的对象类型。因此,此参数是可选的。
如果省略,则集合/数据库中的所有字段都将显示在结果中。
要将字段包含在结果中,传递的参数的值应为 1,如果值为 0,则它将从结果中排除。
示例:仅返回名称和地址,而不是 id:
Python3
import pymongo
# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)
# Name of the database
mydb = my_client["gfg"]
# Name of the collection
mynew = mydb["names"]
for x in mycol.find({}, {"_id":0, "name": 1, "address": 1 }):
print(x)
输出: