Nodejs,Moongos找到子文档

时间:2018-02-09 17:08:55

标签: node.js mongodb mongoose

我有这个查询(mongoose)

user = {email:'my@email.com}; 

return this.company.get().findOne({
            name: companyName,
            users: { $elemMatch: user }
        }).then((res: ICompany) => {
           console.log(res.users);
        }

查询正在运行。 问题是我期待res.users中的一个用户(与$ elemMatch匹配的用户),而是返回所有用户并选择我的用户我必须对所有用户进行for循环。< / p>

是否可以通过与电子邮件匹配的用户填充res.users的方式修改我的查询?

谢谢

1 个答案:

答案 0 :(得分:2)

使用投影,Click for Demo

 return this.company.get().findOne({
        name: companyName,
        users: { $elemMatch: user }
    }, {
      'users.$': 1,
    }).then((res: ICompany) => {
       console.log(res.users);
    });

here the documentation of mongodb 3.6