Buscar registros com LIKE (SQL) no MongoDB

1a atrás

0 0

Em SQL temos o operador LIKE, ele busca por um padrão específico em uma coluna. No #MongoDB temos o operador $regex que pode produzir os mesmos resultados.

Digamos que você tenha a coleção "users" no MongoDB, representada abaixo:

[
  {
    "_id": ObjectId("5a934e000102030405000000"),
    "name": "João"
  },
  {
    "_id": ObjectId("5a934e000102030405000001"),
    "name": "Mario"
  }
]

Se você quisesse encontrar apenas os registros na qual a coluna "name" se iniciam com "M", no MySQL você faria:

SELECT * FROM users WHERE name LIKE 'M%';

No MongoDB, você poderia fazer assim, usando o operador $regex:

db.collection.find({
  "name": {
    $regex: "^M",
    $options: "i"
  }
})

Dessa forma você retorna todos os registros que tenham "name" iniciando com "M", o operador $options: "i" permite que sejam retornados nomes com M maiúsculo e m minúsculo (case insensitive).


Comentários (0)

0/512
Link