【发布时间】:2022-02-20 08:51:40
【问题描述】:
我的 MongoDB 文档结构如下:
{
"_id": "5d8b987f9f8b9f9c8c8b9f9",
"targetsList": [
{
"target": "user",
"statusList": [
{
"date": "2018-01-01",
"type": "OK"
},
{
"date": "2018-01-02",
"type": "FAILD"
}
]
}
]
}
我想计算所有文档,在它们的 "targetList" 数组中,有一个带有 "target"=="user" 的对象 - 还有那个对象包含在其 "statusList" 数组的 last 元素上,这是一个具有 "type" != "FAILD" 的对象。
关于如何实现这种查询的任何想法?
Mongo 游乐场: https://mongoplayground.net/p/3bCoHRnh-KQ 在此示例中,我希望计数为 1,因为只有第二个对象满足条件。
【问题讨论】:
-
你可以分享一个样本数据集,也许使用 mongoplayground.net。你想要的结果也不是很清楚
-
@cmgchess 感谢您的反馈,我添加了一个游乐场。
-
所以如果数组至少有 1 个 FAILD 它应该算吗?还是必须是数组中的最后一个元素
-
@cmgchess 仅当内部数组(“statusList”)中的 last 元素为not FAILD。
标签: node.js mongodb mongoose mongodb-query