Пример данных
{
"_id" : ObjectId("5b77a707ee4b1c14fcf43ff8"),
"nombre" : "NICOLAS SEGUNDO ZULETA VELIZ",
"nacimiento" : "10-09-1937",
"difuncion" : "10-01-1995",
"idPropiedad" : ObjectId("5b77a707ee4b1c14fcf43ff7"),
"__v" : 0
}
Я пытаюсь найти, где следующий поисковый запрос будет работать на свойстве Nombre.
nico zu
nicolas zuleta
nicolas segundo zuleta
zuleta veliz
zuleta nicolas
Я пробовал несколько вещей вроде
db.getCollection('difuntos').find({nombre: {$regex:"nico zu","$options": "i"}})
db.getCollection('difuntos').find({nombre: {$in : [ /nicolas/i,/zu/i ]}})
это не сработает





Вероятно, вы можете разделить свой ввод (например, nico zu) на 2 элемента -> [nico, zu] и просто создать регулярное выражение такого рода:
db.getCollection('difuntos').find({nombre: {$regex:".*nico.*zu.*","$options": "i"}})
Все, что вам нужно сделать, это заключить ваши входные слова (например, noco, zu) в (. *)
Это должно работать:
db.difuntos.find({"nombre": { $regex: searchString.split(' ').join("|"), $options: "i" }})
где searchString будет одним из ваших примерных значений:
nico zu
nicolas zuleta
nicolas segundo zuleta
zuleta veliz
zuleta nicolas
Несмотря на то, что это работает с первыми вариантами, оно будет работать с комбинацией zuleta nicolas, и спасибо за помощь