Rails- Mongoid查询以根据字段的长度过滤对象

问题描述 投票:0回答:1

我想根据字段的长度过滤集合。示例:对于集合Band,我想要带名称的长度等于10的对象。

ruby-on-rails ruby-on-rails-4 mongodb-query mongoid
1个回答
0
投票

我可以通过两种方法进行此操作。在这些示例中,我们假设我有以下模型:

class Band
  include Mongoid::Document

  field :name, type: String
end

汇总

[如果您使用的是MongoDB服务器3.6版或更高版本,则可以使用$expr运算符在查询中包括聚合操作。在此示例中,我使用$expr运算符查找$strLenCP字段具有5个Unicode代码点的任何文档:

$strLenCP

正则表达式

您还可以使用与任何五个字符的字符串匹配的Ruby正则表达式:

name

我怀疑聚合会更有效,但是知道一些做某事的方式也不会伤害。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.