MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Autocomplete filtré avec mongodb

Utilisez le $where étape du pipeline à partir du pipeline d'agrégation après avoir effectué votre recherche pour filtrer les documents indésirables. Ainsi, par exemple,

Client.aggregate([
  {
    "$search": {
      "autocomplete": {
        "query": `${request.query.term}`,
        "path": "name",
        "fuzzy": {
          "maxEdits": 2,
          "prefixLength": 3,
        },
      },
    },
  },
  { 
    $match: { city: 'city-name' } 
  },
  {
    $limit: 3
  },
  {
    $project: {
      "_id": 0,
    }
  }
]);