我有这个查询(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
的方式修改我的查询?
谢谢
答案 0 :(得分:2)
使用投影,Click for Demo
return this.company.get().findOne({
name: companyName,
users: { $elemMatch: user }
}, {
'users.$': 1,
}).then((res: ICompany) => {
console.log(res.users);
});