Ruby on rails 如何解决;geo field仅包含1个元素“;错误

Ruby on rails 如何解决;geo field仅包含1个元素“;错误,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我有一个地理编码的集合,当我试图查询地理编码文档的数量时,它会抛出一个错误。这是我的疑问 Account.exists("locations.coordinates" => false).count 这是它抛出的错误 failed with error 13068: "exception: geo field only has 1 element :: caused by :: $exists: false" 根据错误消息,这意味着我的一些坐标数组只有一个元素。有人能帮我找到locat

我有一个地理编码的集合,当我试图查询地理编码文档的数量时,它会抛出一个错误。这是我的疑问

Account.exists("locations.coordinates" => false).count
这是它抛出的错误

failed with error 13068: "exception: geo field only has 1 element :: caused by :: $exists: false"
根据错误消息,这意味着我的一些坐标数组只有一个元素。有人能帮我找到locations.coordinates中只有一个元素的帐户的语法吗


注意:如果我删除2d索引,我可以查询没有错误,我可以重建索引,没有问题。我正在寻找识别问题文档的方法

在早期版本的MongoDB中,执行以下操作:

Account.exists("locations.coordinates" => false).count
(或类似的)工作。但是,在更高版本(2.4+)中,您似乎希望搜索“null”

Account.exists("locations.coordinates" => null).count

我找到了查询坐标数组中元素数量的语法;Account.with_size(“locations.coordinates”=>1)。计数,但是,由于没有只有1个元素的文档,因此错误消息具有误导性。听起来像是您回答了自己的问题。你还在寻求帮助吗?如果是这样的话,请编辑这个问题,以反映您想要了解的内容。我打开了一个关于误导性错误消息的错误报告。