use $ popula no mangusto de agregação [duplicado]
Esta pergunta já tem uma resposta aqui:
MongoDB $ pesquisa Objectid obter matriz vazia? 1 respostaComo executo o equivalente de junção SQL no MongoDB? 19 respostasNão sei quando usarref
no esquema, mas recentemente comecei a usá-lo como parece limpo. Abaixo está um exemplo de trabalho.
const UserSchema = new Schema({
credit: {
type: Schema.Types.ObjectId,
ref: 'Credit'
}
})
Vou usar apenas preencher assim
const response = await User.find({}).populate('Credit').exec()
Mas no meu outro caso, eu tenho que usar$lookup
como em outros controladoreso desenvolvedor anterior usou agregação.
const response = await Job.aggregate([
{
$match: queryObj
},
{
$lookup: lookupObj
},
{
$lookup: {
from: 'credit',
localField: ??
foreignField: ??
as: 'credit'
}
}
])
Como você pode ver o código acima, eu preciso inserir essa pesquisa extra de $
{
$lookup: {
from: 'credits',
localField: ??, //no idea what this should be.
foreignField: '_id'
as: 'credits'
}
}
Mas ainda não funciona. Eu tenho uma propriedade de crédito como uma matriz vazia.