我基本上有一个User
对象,在它里面定义了一个数组field
phone_numbers
。我想获取数据库中所有phone_numbers
计数大于1
的用户对象。
有没有资源可以学习这样的查询?我在网上找不到任何有用的东西,因为大多数结果都是针对更简单的查询。
代码:
class Location
include Mongoid::Document
field :name
field :phone_numbers, type: Array
end
字符串
我尝试了以下方法,但不起作用:
Location.where("this.phone_numbers.count < 1").count
型
谢谢你,谢谢
4条答案
按热度按时间ki1q1bka1#
此查询搜索
phone_numbers[0]
字段中是否存在任何对象字符串
此查询解决了获取大于1的电话号码计数的问题;如果字段
phone_numbers[0]
存在,则表示数组中至少有电话号码z3yyvxxp2#
将无法通过查询检查此信息.在文档中创建一个字段,该字段将保留
phone_numbers
数组的计数,每次像这样更新保存文档的值字符串
然后你可以运行查询
型
iugsix8n3#
我只是在搜索避免聚合的解决方案失败后才有了这个想法:
字符串
有点笨重,但很好用。
xpcnnkqh4#
试试这个:
字符串