如何在MongoDB Compass中筛选并展示指定嵌套子文档
MongoDB Compass 筛选嵌套数组指定子文档的实现方法
完全可行,你需要结合Filter定位目标文档,再通过Project标签控制数组返回的内容,具体步骤如下:
第一步:在Filter标签中写入条件,先定位包含目标子文档的父文档
注意要用ISODate()匹配MongoDB的日期类型,避免字符串匹配的误差:{"Score.tpp.Created": ISODate("2023-08-15T11:35:59.981703")}第二步:切换到Project标签,使用
$filter操作符过滤数组
这个操作符会遍历Score.tpp数组,只保留符合Created时间条件的子文档。如果需要保留父文档的其他字段(比如_id),直接在投影规则里声明即可:{ "Score.tpp": { "$filter": { "input": "$Score.tpp", "as": "item", "cond": { "$eq": ["$$item.Created", ISODate("2023-08-15T11:35:59.981703")] } } }, "_id": 1 }
设置完成后点击「Find」,返回的文档就只会展示Score.tpp中符合指定Created时间的子文档了。
内容的提问来源于stack exchange,提问作者S Andrew
相关产品推荐
相关产品推荐

