为 MongoDB 集合中的所有文档选择单个或多个字段
随着互联网在全球的普及,数据以前所未有的速度产生。 由于它需要您从数据库中收集或请求必要的数据来进行分析,因此您必须选择合适的工具来查询数据。
在本文中,您将学习通过投影执行基本查询操作,为 MongoDB 集合中的所有文档选择单个或多个字段。
为 MongoDB 集合中的所有文档选择单个或多个字段
MongoDB 是一种非结构化的数据库管理系统,以文档的形式存储数据。 此外,MongoDB 在处理大量数据方面也非常成功。
它是使用最广泛的 NoSQL 数据库,因为它提供了全面的查询语言和通用且简单的数据访问。 例如,要限制 MongoDB 发送到应用程序的数据量,您可以包含一个投影文档来指定或限制要返回的字段。
投影可以显式包含多个字段。 在本文使用的以下示例中, find()
方法返回与查询匹配的所有文档。
projection 方法的语法如下:
db.collection.find( { <someOtherArray>: <condition> ... },
{ "<array>.$" : 1 } )
查询和投影文档中使用的数组必须具有相同的长度以确保预期的行为。 如果数组长度不同,在特定场景下可能会出错。
创建示例数据库
在开始之前,您将使用一些样本数据创建一个样本数据库来执行所有操作。 创建了一个名为 teams 的集合,并将以下记录插入到 teams 集合中。
该集合将用于本 MongoDB 教程文章中的所有示例。 集合如下:
db={
"teams": [
{
team: "Manchester City ",
position: "1st",
points: 70
},
{
team: "Liverpool",
position: "2nd",
points: 69
},
{
team: "Chelsea",
position: "3rd",
points: 59
},
{
team: "Arsenal",
position: "4th",
points: 54
},
{
team: "Tottenham",
position: "5th",
points: 51
},
{
team: "Manchester United",
position: "6th",
points: 50
}
]
}
使用 find() 方法查询文档
您将需要使用 find()
方法从 MongoDB 集合中查询文档。 例如,以下语句将从集合中检索所有文档。
假设您在一个文档中有一个包含大量数据的集合。 你有团队集合,你将只选择几个你想要的字段。
查询:
db.teams.find({});
输出:
使用投影法为 MongoDB 集合中的所有文档选择单个或多个字段
投影可以显式包含多个字段。 find()
方法将返回所有与以下操作中的查询匹配的页面。
如果只想从集合中检索选定的字段,可以使用投影方法。
为此,您首先需要了解下面给出的 MongoDB 查询语法:
db.collections.find(
// basic filtering based on the passed-in key values
{},
// selecting the fields
{}
);
第二个参数可以传递给 find() 方法。 它还将与 findOne() 方法一起使用。
现在让我们选择团队字段。 您将需要在这里学习更多技巧。 键将是您要选择的字段及其值。
选择字段时值为 1; 0 用于取消选择字段。
现在您可以查看下面给出的一些示例,以便更好地理解。
仅选择 Team 名称字段
下面给出的以下查询将用于此示例:
db.teams.find({},
{
team: 1
})
输出:
在这里,我们成功地只选择了 team 字段。 但是也有 _id
字段包含在你没有明确传递它的情况下。
但默认情况下,mongo 查询将始终具有 _id
字段。
取消选择 _id
字段
在下面的示例中,您可以尝试取消选择 _id
字段本身。
对此的查询如下:
db.teams.find({},
{
team: 1,
_id: 0
})
输出:
仅选择团队名称和积分字段
以下语句将仅获取团队名称和积分字段。
下面给出的以下查询将用于此示例:
db.teams.find({},
{
team: 1,
points: 1,
_id: 0
})
输出:
总结
因此,在完成本 MongoDB 教程之后,您了解了如何通过指定或限制要返回的字段的投影执行基本查询操作,为 MongoDB 集合中的所有文档选择单个或多个字段。
相关文章
MongoDB 中的 $unset 运算符
发布时间:2023/05/10 浏览次数:135 分类:MongoDB
-
本文将讨论 $unset 运算符在 MongoDB 中的工作原理。 此外,我们将演示使用此运算符从 MongoDB 集合中的所有文档中删除一个字段。MongoDB 中的 $unset 运算符 $unset 是用于从实体中删除字段的运算符。
MongoDB 中的 $ne 运算符
发布时间:2023/05/10 浏览次数:82 分类:MongoDB
-
本文将讨论 $ne 运算符如何在 MongoDB 中工作。 另外,我们会列举它与$not操作符的区别。MongoDB 中的 $ne 运算符 $ne 是MongoDB中的一个运算符,代表不等于。
MongoDB $Set 运算符
发布时间:2023/05/10 浏览次数:54 分类:MongoDB
-
在本文中,我们将学习如何使用 $set 运算符部分更新 MongoDB 中的对象,以便新对象与现有对象重叠/合并。
MongoDB 中 $push 和 $addToSet 的区别
发布时间:2023/05/10 浏览次数:103 分类:MongoDB
-
这篇指导文章将告诉您什么是 MongoDB 中的运算符以及它们是如何描述的。 此外,对 $push 和 $addToSet 运算符进行了简要的详细说明。 $push 和 $addToSet 之间的区别通过代码段详细说明。
在 MongoDB 中按日期对集合进行排序
发布时间:2023/05/10 浏览次数:150 分类:MongoDB
-
在本 MongoDB 教程中,讨论了在 MongoDB 中对集合进行排序的问题。 简要说明了对数据库中的集合进行排序的不同方法。在 MongoDB 中使用 sort() 函数
统计 MongoDB 中的记录
发布时间:2023/05/10 浏览次数:83 分类:MongoDB
-
本文讨论 MongoDB 中的运算符、聚合运算符以及计算总记录数的不同方法。MongoDB 中的操作 CRUD 操作是用户界面的概念,允许用户浏览、搜索和更改数据库中的对象。
在 MongoDB 中更新用户密码
发布时间:2023/05/10 浏览次数:156 分类:MongoDB
-
本文将讨论如何更新 MongoDB 数据库的用户密码,并且我们还将看到一个与该主题相关的示例以使其更容易。在 MongoDB 中更新用户密码
比较 MongoDB 中的字段
发布时间:2023/04/21 浏览次数:51 分类:MongoDB
-
在本文中,我们将了解如何比较 MongoDB 中的两个字段。 此外,我们将看到一个相关的示例和解释,以使主题更容易理解。
清除或删除 MongoDB 中的集合
发布时间:2023/04/21 浏览次数:147 分类:MongoDB
-
本篇文章将告诉大家如何删除 MongoDB 数据库中的集合以及删除 MongoDB 中的集合的不同方法。