MongoDB - 在连接字段上包含(LIKE)查询

Han*_*lez 4 mongodb mongodb-query

我是MongoDB的新手.

我正在使用spring数据和mongodb编写应用程序,我有一个包含两个字段的类:firstnamelastname.

我需要一个查询包含全名(firstname+ lastname)中的一个字符串的文档.

例如:firstname = "Hansen David",lastname = "Gonzalez Sastoque"我有一个查询要查找David Gonzalez.在这个例子中,我希望有一个匹配.

连接两个字符串解决了它,但我不知道如何执行此操作.

Zai*_*sud 5

names在文档中创建一个新的数组字段(称之为),并在该数组中将每个名称按空格分割.在您的示例中,数组将具有以下内容:

  1. 汉森
  2. 大卫
  3. 冈萨雷斯
  4. sastoque

(使它们全部小写以防止不区分大小写的问题)

在进行查询之前,将输入转换为小写并将其拆分为空格.

现在,您可以使用$ all运算符来实现您的目标:

db.persons.find( { names: { $all: [ "david", "gonzalez" ] } } );
Run Code Online (Sandbox Code Playgroud)