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

数组字段中值的活动记录查询

闾丘成双
2023-03-14

我在Rails3中的MongoDB数据库中有一个名为“Stat”的表。

在该表中,有一个名为“服务”的数组字段。

@stats = Stat.all
@stats1 =  @stats.where("services contains lights")
Rails.logger.info "result:  #{@stats1.count}  " 

我尝试了各种各样的东西,并广泛地搜索了它,找到了一些线索,但似乎没有任何工作。我有四条记录应该与此查询匹配,但上面返回的是一个零集。

我想做的事情在Rails3/mongo中可能吗?

共有1个答案

赵永新
2023-03-14

试试这个,

@stats = Stat.all

@stats1 =  @stats.where("'lights' = ANY (services)")
 类似资料:
  • 问题:是否可以构建一个类方法作用域,它可以基于表中数组中的值查询对象?如果是,我怎么做? 更新:一些进展 我知道了如何使用'select'方法创建一个数组,其中包含我想要的所有对象。但是我仍然需要将结果作为活动记录对象返回,所以我创建了一个类方法范围。

  • 我的表中有一个字符串字段,其中包含一个json字符串。让我们命名tbl_表 假设它有以下3条记录: 现在我想获取在json字段中包含数字的记录(使用Yii2中的活动记录),因此: 此查询返回以下记录: 这实际上不是一个错误的结果,但我只想返回id=2的记录。我该怎么做? 那么对于或等等?数字是相似的,但我希望确切的数字是匹配的。 另一个问题,我想要最后一个问题的答案,在这部分有变化。换句话说,我想

  • 这非常慢,并且refmdlist._id没有索引。解决方案是索引这个数组对象字段以加快速度,还是上面的DBCursor代码有问题? DBCursor类来自mongodb/mongo-java-driver/3.4.3/mongo-java-driver-3.4.3.jar

  • 我有以下模式- [名称:StringType,Grades:ArrayType(StructType(StructField(subject_grades),ArrayType(StructType(StructField(subject,StringType,false)),StructField(grade,LongType,false) 我想在数组中的subject字段上,该数组位于grad

  • 问题内容: 我需要一个activerecord查询来匹配params数组中的所有项目。 假设用户具有has_many个角色。每个角色都有一个名字 当我通过[‘演员’,’制作人’,’歌手’]时。我希望查询返回给我具有所有这三个角色或更多角色的用户。 但是我下面的方法实现将返回具有至少一个与传递的数组中的角色名称匹配的角色名称的用户 我当前的方法基于找到任何标签而不是“ MATCH ALL”来给出结果

  • 我在JOOQ中有一个查询,其中包含一个带有另一个表的左OUTER JOIN。这是有意的,因为不能保证相应的记录会存在,在这种情况下,我仍然希望从以前的表中检索值,并为缺失的字段提供默认值。 但是,由于带有默认参数的函数已被弃用,我如何检查字段是否包含空值? 使用字符串很容易,但布尔值只返回为,这意味着我无法检查它是否真的设置为false,或者它正是JOOQ决定返回的。 我试过: 但是这不起作用,因