您可以在查询栏中输入 MongoDB 过滤器文档,仅显示符合指定标准的文档。要了解有关查询文档的更多信息,请参阅 MongoDB 手册中的查询文档。
设置查询筛选器
AtlasGoData Explorer在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Database 标题下的 Data Explorer。
显示数据浏览器。
注意
您也可以转到 Clusters 页面,然后单击 Shortcuts 标题下的 Data Explorer。
示例
本页上的示例使用的是一个小型示例数据集。要将样本数据导入到 MongoDB 部署中,请执行以下步骤:
将以下文档复制到剪贴板:
[ { "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ] 在Atlas中,使用左侧导航面板选择要导入数据的数据库和集合。
单击 Documents 标签页。
单击 Add Data(添加数据)并选择 Insert Document(插入文档)。
将 View(视图)设置为 JSON (
{}
)。将剪贴板中的 JSON 文档粘贴到模态窗口中。
单击 Insert(连接)。
注意
如果您没有 MongoDB 部署,或者如果您想查询更大的示例数据集,请参阅 Atlas 集群示例数据,了解有关使用示例数据创建免费层集群的说明。以下示例查询过滤此页面提供的示例文档。
按单个条件匹配
以下查询筛选器查找 name
值为“Andrea Le”的所有文档:
{ name: "Andrea Le" }
该查询返回以下文档:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
按多个条件匹配 ($and)
以下查询筛选器查找 scores
数组包含值 75
且name
为 Greg Powell
的所有文档:
{ $and: [ { scores: 75, name: "Greg Powell" } ] }
该查询返回以下文档:
{ "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } }
按多个可能条件匹配 ($or)
以下查询过滤器使用 $or
操作符查找 version
为 4
或 name
为 Andrea Le
的文档:
{ $or: [ { version: 4 }, { name: "Andrea Le" } ] }
该查询返回以下文档:
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
按排除匹配 ($not)
以下查询过滤器使用 $not
操作符查找 name
字段值不等于“Andrea Le”或 name
字段不存在的所有文档:
{ name: { $not: { $eq: "Andrea Le" } } }
该查询返回以下文档:
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
提示
有关逻辑查询操作符的完整列表,请参阅逻辑查询操作符。
使用比较操作符进行匹配
以下查询过滤器使用 $lte
操作符查找 version
小于或等于 4
的所有文档:
{ version: { $lte: 4 } }
该查询返回以下文档:
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
提示
有关比较操作符的完整列表,请参阅比较查询操作符。
按日期匹配
以下查询过滤器使用 $gt
操作符和 Date()
方法查找 dateCreated
字段值晚于 2000 年 6 月 22 日的所有文档:
{ dateCreated: { $gt: new Date('2000-06-22') } }
该查询返回以下文档:
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid": "5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
按数组条件匹配
以下查询过滤器使用 $elemMatch
操作符查找 scores
数组中至少有一个值大于 80
且小于 90
的所有文档:
{ scores: { $elemMatch: { $gt: 80, $lt: 90 } } }
由于 scores
数组中的一个值为 85
,查询返回以下文档:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
更多查询示例,请参阅 MongoDB 手册中的查询文档。
按子字符串匹配
以下查询过滤器使用 $regex
操作符查找 email
值包含“andrea_le”术语的所有文档:
{ email: { $regex: "andrea_le" } }
该查询返回以下文档:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
按嵌入式字段匹配
以下查询过滤器查找 school.name
子字段为“Northwest”的文档:
{ "school.name": "Northwestern" }
该查询返回以下文档:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
更多查询示例,请参阅 MongoDB 手册中的查询文档。
查询栏支持的数据类型
Atlas Filter 支持使用MongoDB扩展JSON BSON数据类型的 mongosh
表示形式。
例子
以下筛选器返回 start_date
大于 BSON Date
2017-05-01
的文档:
{ "start_date": {$gt: new Date('2017-05-01')} }
通过在 start_date
和 $gt
操作符中指定 Date
类型, Atlas会按时间顺序执行 greater
than
比较,返回 start_date
晚于 2017-05-01
的文档。
如果没有 Date
类型规范, Atlas会将 start_dates
作为字符串按字典顺序进行比较,而不是按时间顺序比较值。
清除查询
要清除查询栏和查询结果,请单击 Reset。
Atlas查询与MongoDB和SQL查询相比如何?
$filter
对应于 SQL SELECT
语句中的 WHERE
子句。
例子
现有 3,235 篇文章。您想阅读 Joe Bloggs 撰写的 所有文章。
- Atlas筛选器选项
{ author : { $eq : "Joe Bloggs" } } - MongoDB 聚合
db.article.aggregate( { $match: { "author": "Joe Bloggs" } } ) - SQL
SELECT * FROM article WHERE author = "Joe Bloggs";