MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Autocomplete filtrado com mongodb


Use o $where estágio de pipeline do pipeline de agregação depois de realizar sua pesquisa para filtrar documentos indesejados. Assim, por exemplo,
Client.aggregate([
  {
    "$search": {
      "autocomplete": {
        "query": `${request.query.term}`,
        "path": "name",
        "fuzzy": {
          "maxEdits": 2,
          "prefixLength": 3,
        },
      },
    },
  },
  { 
    $match: { city: 'city-name' } 
  },
  {
    $limit: 3
  },
  {
    $project: {
      "_id": 0,
    }
  }
]);