【发布时间】:2020-07-02 08:47:59
【问题描述】:
在我的集合中,我必须找到按日期匹配的 operator_name 和按 shift_name 匹配的内部数组
{
"_id": "5eb301bc0218ff48b724a486",
"date": "2020-07-02T00:00:00.000Z",
"shift_wise": [{
"_id": "5eb3037d3cb4d74b749fc22b",
"shift_name": "Shift A",
"operator_name": "5eb2ec3420fbc132eb648a6d"
},
{
"_id": "5eb3037d3cb4d74b749fc22c",
"shift_name": "Shift B",
"operator_name": "5eb2ec3420fbc132eb648a6d"
},
{
"_id": "5eb3037d3cb4d74b749fc22d",
"shift_name": "Shift C",
"operator_name": "5eb2ec3420fbc132eb648a6d"
}
],
"createdAt": "2020-05-06T18:28:12.379Z",
"updatedAt": "2020-05-06T18:35:41.484Z",
"__v": 4
}
【问题讨论】:
-
请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您尝试的minimal reproducible example,并使用
[<>]sn-p 编辑器注意输入 和预期输出。 -
我给你做了一个sn-p。请发布您所做的尝试并详细说明输入和预期输出
-
这里想要的输出是什么,一个对象还是别的什么?
-
这里是一个例子
const result= obj.shift_wise.find(({shift_name, operator_name})=> shift_name==='Shift A' && operator_name==='5eb2ec3420fbc132eb648a6d'); -
@EugenSunic 感谢您的回复,我必须通过匹配日期和班次来简单地找到 operator_name 作为响应............ . 我有一个日期和班次,我使用 findOne({date: my date variale}) 按日期查找,但我不知道如何在数组 shift_name 中匹配
标签: javascript node.js mongodb express mongoose