MongoDb에서 특정 조건에서만 조회를 수행 할 수 있습니까? 이벤트가 내 MongoDb에서 발생해야하며 이벤트가 특정 사용자가 관련 베팅을 추가 한 경우에만 - 컬렉션에 베팅을 추가하고 싶습니다.특정 조건에서 조회 수행 방법
먼저 이벤트와 관련된 베팅을 얻기 위해 Match 연산자와 $ lookup을 사용했지만 문제는 두 번째 조건을 정의해야합니다. 베팅의 사용자 식별자는 외부 매개 변수 (userId)의 값과 동일해야합니다.
그럼 컬렉션이 아닌 하나의 결과 만 추가하면됩니다. 그래서 내가 $ project를 사용했습니다. 도와주세요.
내 코드는 여기 간다 :
db.collection('events').aggregate([
{
$match: {
'isDeleted': false,
'leagueId': ObjectID(leagueId)
}
},
{
$lookup: {
from: "bets",
localField: "_id",
foreignField: "eventId",
as: "bets"
},
},
{
$project: {
_id: true,
home: true,
guest: true,
description: true,
result: true,
resultHome: true,
resultGuest: true,
startDate: true,
type: true,
specialPoints: true,
leagueStage: true,
createdDate: true,
updatedDate: true,
isDeleted: true,
isCalculated: true,
leagueId: true,
bet: { "$arrayElemAt": [ "$bets", 0 ] }
}
}