猫鼬返回多个结果

凯文

您好,我具有以下收集结构:

{
    name : 'name1'
    projects : [
      {projectId : 123 , ...more},
      {projectId : 124 , ...more},
      {projectId : 125 , ...more},
    ]
  }
  
  {
    name : 'name2'
    projects : [
      {projectId : 126 , ...}
      {projectId : 127 , ...}
    ]
  }

我的目标是根据其projectId查找单个项目。因此,如果我要查找ID为123的项目,则结果应为:{projectId : 123 , ...more}

但是现在它正在返回所有内容:

 {
        name : 'name1'
        project : [
          {projectId : 123 , ...more},
          {projectId : 124 , ...more},
          {projectId : 125 , ...more},
        ]
      }

我的查询看起来像:

   const project = await ClientManager.findOne({
      'project.projectId': projectId,
    });


{
    "projectId" : "123",
}
胡子

由于存在匹配项,因此与您当前的项目匹配,它将返回整个文档。您要做的是使用$ elemMatch运算符,并在投影中使用它。

看起来像这样

 const project = await ClientManager.findOne({
  project: {$elemMatch: { projectId: projectId } },
}, {'project.$': 1});

有关更多详细信息,请参见https://docs.mongodb.com/manual/reference/operator/query/elemMatch/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猫鼬查询返回多个结果

来自分类Dev

猫鼬返回重复的结果

来自分类Dev

猫鼬返回重复的结果

来自分类Dev

猫鼬文字搜索未返回结果

来自分类Dev

猫鼬-搜索数组并返回匹配的结果

来自分类Dev

猫鼬搜索返回错误的结果

来自分类Dev

猫鼬返回过滤结果

来自分类Dev

猫鼬find()不返回结果

来自分类Dev

在函数中返回猫鼬结果

来自分类Dev

猫鼬地理查询未返回正确的结果

来自分类Dev

如何使用猫鼬将查询结果返回到变量

来自分类Dev

将查找查询中的结果猫鼬返回给变量

来自分类Dev

猫鼬:将数据添加到返回的结果集中

来自分类Dev

通过多种方法返回猫鼬查询结果

来自分类Dev

当找不到结果时,猫鼬的findById不会返回null

来自分类Dev

猫鼬:如何查询嵌套文档并返回String结果?

来自分类Dev

如何使用猫鼬将查询结果返回到变量

来自分类Dev

遍历猫鼬结果返回未定义

来自分类Dev

findOne()返回的确切结果是猫鼬

来自分类Dev

访问猫鼬查询结果

来自分类Dev

猫鼬在findOneAndUpdate()返回NULL

来自分类Dev

猫鼬填充返回null

来自分类Dev

猫鼬返回数组$ size

来自分类Dev

猫鼬不返回错误

来自分类Dev

猫鼬填充返回空

来自分类Dev

猫鼬创建返回 __v

来自分类Dev

猫鼬访问多个集合

来自分类Dev

猫鼬查找多个文档

来自分类Dev

在2dsphere索引字段上的猫鼬near(...)查询未返回有效结果