如何通过mongoose从数组中获取所需对象内部的值

zrfyljdw  于 9个月前  发布在  Go
关注(0)|答案(1)|浏览(85)

我在mongoDB中有以下bson数据

{
 [
  {
     partyName : "p1",
     poNumber : "789",
  },
  {
     partyName : "p2",
     poNumber : "700",
  },
  {
     partyName : "p3",
     poNumber : "889",
  }
 ]
}

字符串
我想要从partyName对象例如,如果partyName是p1,那么我想要这个

{
     partyName : "p1",
     poNumber : "789",
  }


我在互联网上搜索,但没有找到相关的结果,所有我发现,查询.elemMatch可能会有所帮助,但我不知道如何使用它,请帮助我的解决方案(我想只使用 Mongoose )

t98cgbkg

t98cgbkg1#

您可以尝试这样做。填写EntityNamemainEntityName部分作为schema的名称:

await EntityName.findOne({ mainEntityName: { $elemMatch: { partyName: "p1" } } });

字符串
代替 p1,添加来自req.query的参数。
要访问与过滤器匹配的所有元素,请使用find()方法:

await EntityName.find({ mainEntityName: { $elemMatch: { partyName: "p1" } } });

相关问题