【发布时间】:2019-09-21 19:01:57
【问题描述】:
我在编写查找/聚合 mongo 查询时遇到问题,我的要求是获取所有文档,但条件如下:
假设我有 2 个文档:
{
_id: 5ccaa76939d95d395791efd2,
name: 'John Doe',
email: 'john.doe@foobar.com',
private: true
}
{
_id: 5ccaa76939d95d395791efd2,
name: 'Jane Doe',
email: 'jane.doe@foobar.com',
private: false
}
现在我想了解的查询是如果字段private 为真,那么当我查询时,如果private 为真,我必须获取除电子邮件字段之外的所有文档,如下所示:
{
_id: 5ccaa76939d95d395791efd2,
name: 'John Doe',
private: true
}
{
_id: 5ccaa76939d95d395791efd2,
name: 'Jane Doe',
email: 'jane.doe@foobar.com',
private: false
}
在聚合()中尝试了$redact、$cond、$$PRUNE、$$DESCEND 以及遇到了$$REMOVE(看起来是最新功能),但无法获得所需的输出。请帮我解决查询
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework