【发布时间】:2021-02-24 07:58:47
【问题描述】:
您好,我有一个函数可以像这样获取具有 id 数组的对象。
{
"participants": [
"5fa566b5b96a9407c804ccd4",
"5fa5639cb96a9407c804ccce"
]
}
而且我需要找到恰好具有此字段的对象 我试图在其中找到它的对象如下所示:
{
"_id" : ObjectId("5fac288e53a6a72e94f721fa"),
"participants" : [
ObjectId("5fa566b5b96a9407c804ccd5"),
ObjectId("5fa5639cb96a9407c804ccc5")
],
"messages" : [],
}
我正在尝试这样做,但它不起作用。
async filterDialog(newDialog: any){
const res = await Dialog.find({
'participants': { $in: { ...newDialog.participants } }, function(err: any, dialog: any) {
if (err) {
return err
} else {
return dialog
}
},
})
return res;
}
如果有人帮助我会很高兴。
【问题讨论】:
-
你能发布输入和预期输出吗?我不明白你到底想要什么。给定一个
participants数组(第一个代码块)返回一个包含这些值的对象?但是示例文档没有任何participants_id。 -
在 filterDialog(newDialog: any) newDialog 是两个 Id 用户的数组,通过这两个 id,我必须找到这两个 id 存在的对话框,但如果在此 id 之间的对话框集合中没有'不存在我必须返回一个空对象
-
好的,并且必须匹配整个数组?还是只有一个值?
标签: reactjs mongodb typescript mongoose