当前位置: 首页 > 知识库问答 >
问题:

如何查询MongoDB以查看字段(字符串)是否匹配数组(字符串)中的元素?

盛建德
2023-03-14

我有一个字符串数组,我想查找具有字段且值包含在数组中的所有文档。

例如,假设我有数组< code>kidsInTrouble = ["Jerry "," Tom "," Arnold"],

我想搜索我的学生集合,以找到< code>name字段为< code>"Jerry" 、< code>"Tom"或< code>"Arnold"的所有孩子。

(如果可以使用Spring的Mongo驱动程序方法提供解决方案,则会获得额外积分)

共有2个答案

蓬高谊
2023-03-14

您的查询应该如下所示:

db.students.find({"name": {$in:[$your_variable]})
乐正宏深
2023-03-14

您可能希望像这样使用$in运算符:

var kidsInTrouble = ["Jerry", "Tom", "Arnold"]
db.collection.find({name: {$in: kidsInTrouble}})

查看此答案以获取使用 Java 中的 $in 运算符的示例:

https://stackoverflow.com/a/37347298/6440033

 类似资料:
  • 我知道拆分字符串并使用运算符是可能的,但我想知道是否可以使用字符串比较轻松地完成。

  • 问题内容: 通常,在使用SELECT查询数据库时,通常希望查找与给定搜索字符串匹配的记录。 例如: 该查询应为我提供所有记录,其中“ Bob Smith”出现在名称字段中的任何位置。 我想做的是相反的。 我想查找名称字段在“ Robert Bob Smith III,PhD。”(查询的字符串参数)中的所有记录,而不是查找在名称字段中具有“ Bob Smith”的所有记录。 问题答案: 只是转一下喜

  • 问题内容: 我正在寻找一种通过查询来连接组中字段字符串的方法。因此,例如,我有一张桌子: 我想按company_id分组以获取类似信息: mySQL中有一个内置函数来执行此group_concat 问题答案: PostgreSQL 9.0或更高版本: Postgres的最新版本(自2010年末开始)具有可以完全满足问题要求的功能,甚至允许您指定分隔符字符串: Postgres 9.0还增加了在任何

  • 问题内容: 假设我在SQL中有数百万行,使用PostgreSQL进行查询。每行是否包含字符串。在所有行中,我需要获取包含CONTAINS的行。 那么最好的查询方式是什么? 我尝试了以下操作,但是速度非常慢。 我应该使用什么? 问题答案: 您需要找出一种方法来建立索引或使用其他类似搜索引擎的方法。 首先看一下为什么LIKE在postgresl中会变慢,以及如何使我在use-the-index-luk

  • 问题内容: 我在C#中使用elasticsearch.net库,并尝试查询与指定过滤器匹配的对象。 我希望查询返回对象,其中对象的Names集合中至少存在来自过滤器的输入名称之一。 问题是此查询的结果总是使我命中0次,即使我确定数据库中确实存在与指定过滤器匹配的数据,我也想找出我的查询出了什么问题… 该模型: 过滤对象: 查询数据的方法: 我也尝试过以下查询,但都没有产生预期的结果: 适用于我的解

  • 本文向大家介绍MySQL查询以字符串字段中的数字字符对行进行分组?,包括了MySQL查询以字符串字段中的数字字符对行进行分组?的使用技巧和注意事项,需要的朋友参考一下 为此,您可以在+运算符的帮助下将0与字符串字段连接起来。这里的场景就像我们需要从字符串字段“ 9844Bob ”中获取数字“ 9844 ”。 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所