2014-02-21 39 views
0

我有一个数组中有一个文件,我想在那里数组的长度> 365红宝石蒙戈的宝石,其中数组长度大于

我的文档,以获取所有这些文档:

{ 
    "_id" : "100064", 
     "rec" : [ 
     { 
      "234.59" 
     }, 
     { 
      "234.29" 
     }] 
} 

基本上如何执行以下在红宝石蒙戈宝石蒙戈命令:

count = db.yyy.find({ $where: "this.rec.length > 365"}).count() 

- >结果:3000

我曾尝试以下,但还没有得到相同的结果:

count = yyy_collection.find("rec.length" => {"$gt" => 365}).count 

- >结果:0

count = yyy_collection.find({ "rec" => { "$size" => {"$gt" => 365} } }).count 

- >结果:0

+0

您的文档似乎只有一个只有两个元素的数组,因此这些查询将是正确的。我假设* actual *数组有> 365个元素? – maerics

+0

是maerics,该文件可以有至少365个元素,但其中很少有更多,我想识别它们。为了说明文档结构,我只提出了两个元素。 –

回答

0

找到答案:

count = yyy_collection.find({ "$where" => "this.rec.length > 365" }).count() 

返回3000具有预期的计数。