MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È possibile interrogare i documenti secondari direttamente usando mangusta?

Sì, puoi trovare direttamente il titolo del post dal modello utente. come sotto

User.find({"posts.title": "Cats are cool"}, (err, users) => {
  if(err) {
    // return error
  }
  return res.send(users)
})

Ciò restituirà l'utente con tutti i post non solo il titolo del post corrispondente. Quindi, per restituire solo il titolo del post corrispondente, puoi utilizzare $ operatore posizionale. come questa query

User.find({"posts.title": "Cats are cool"},
  {username: 1, "posts.$": 1}, // add that you need to project
  (err, users) => {
    if(err) {
      // return error
    }
    return res.send(users)
})

che restituiscono solo post corrispondenti