Mongoid文档仅给出了一个进行通配符搜索的示例:

Person.where(first_name: /^d/i)

这会发现所有名字以"d"开头的人.

/^/i代表什么?

我如何找到所有的人,他们的名字有一个"NA"在字符串的中间?例如,这个查询将找到"jonathan",因为"na"是整个字符串的子字符串.

是否有包含此信息的网站或指南?

推荐答案

你需要这个来找到名字里有"na"的人.

Person.where(first_name: /na/i)

至于你的例子:

Person.where(first_name: /^d/i)

^的意思是"线的开始".这个正则表达式将匹配第一个字母为"d"的所有字符串./i表示"不区分大小写匹配".所以它将同时匹配"d"和"d".

Note:只有前缀正则表达式(前面有^个)才能使用索引.

是否有包含此信息的网站或指南?

这是my favourite美元.

Mongodb相关问答推荐

用Spring Boot查询MongoDB中的对象数组

在对象mongodb的数组中查找元素

多键索引,性能问题

在 MongoDB 中使用 findOneAndUpdate 有条件地更新/更新嵌入式数组

MongoDB 聚合使用 $match 和 $expr 和数组

用Golang减go mongodb中的两个字段

MongoDB聚合 - 用另一个数组过滤数组

_id 和 $oid 的区别; mongo 数据库中的 $date 和 IsoDate

MongoDB PHP UTF-8 问题

Mongo C#忽略属性

如何使用 mongoose 从 MongoDb 获取数据?

在mongo聚合中将ObjectID转换为字符串

使用 MongoDb 处理迁移

如何在 $lookup Mongodb 的 LocalField 中将字符串转换为 objectId

MongoDB:单个数据库处理程序的 >5 个打开连接

使用已排序的数据获取不同的值

如何使用 MongoDB 和 Mongoid 在 Rails 3 上进行适当的数据库测试 (TDD)

在MongoDB中查询一个半​​径内的位置

使用 Jackson 与 Java Mongo DBObject 进行高效 POJO 映射

MongoError: The dollar ($) prefixed field '$push' in '$push' is not valid for storage