몽구스에서 두 개의 쿼리를 하나로 결합하려고합니다.몽구스에서 한 번에 여러 개의 쿼리 실행
User.find({ _id: req.body.userId }, (err, user) => {
User.find({ username: decodedUser.username }, (err, member) => {
console.log("user\n", user)
console.log("member\n", member)
})
})
나는 데이터베이스에 하나의 User.find()
쿼리를하고 싶습니다, 그 결과는 모든 객체 (또는 배열) 수 :
, 나는이 일을 해요 이 경우 [user, member]
의 배열과 같이 원하는 문서. 이렇게하면 User.find()
을 두 번 실행하지 않아도됩니다. 이상적으로는 쿼리의 결과를 객체로 지정하여 특정 키/값 집합을 더 쉽게 찾을 수있게하고 싶습니다. 특정 요소를 찾기 위해 반복해야하는 배열과는 반대입니다. 어떻게해야합니까?
참고 :이 작동합니다 results
내가 원하는 문서의 배열 인
User.find({ $or:
[
{ _id: req.body.userId },
{ username: decodedUser.username}
]}, (err, results) => {
console.log("results\n", results)
})
. 그러나 더 좋은 방법이 있는지 알고 싶습니다.
답장을 보내 주셔서 감사합니다. 나는 실제로 두 가지 결과를 기대하고 있습니다. 최종 목표는 위의 예제 에서처럼 User.find()를 두 번 실행하는 대신 두 번의'User.find()'쿼리를 한 번 실행하는 것입니다. – Farid
그러면 내 솔루션이 내게 가장 좋아 보인다 – Zilvinas
예! 귀하의 "편집"은 * 정확하게 * 내가하려고했던 것입니다. 오, 고마워요! – Farid