我有像这样的文件
{ "_id" : ObjectId("5755d81e2935fe65f5d167aa"), "prices" : [ 23, 11, 2, 3, 4, 1, 232 ] },
{ "_id" : ObjectId("5755d81e2935fe65f5d167ab"), "prices" : [ 99, 3, 23, 23, 12 ] },
{ "_id" : ObjectId("5755d81e2935fe65f5d167ac"), "prices" : [ 999, 12, 3, 4, 4, 4, 4, 4, 123 ] },
{ "_id" : ObjectId("5755d81e2935fe65f5d167ad"), "prices" : [ 24, 3, 4, 5, 6, 7, 723 ] }
我希望找到包含最高数字4的数组'price'的文档,在我的例子中是第三个文档。有什么方法可以查询吗?
答案 0 :(得分:3)
从MongoDB 3.2开始,我们可以$project
我们的文档并使用$size
和$filter
运算符返回每个数组中数字def test_my_method():
try:
my_module.my_method()
except IOError, e:
print "shouldn't see this error message"
assert False
except Exception, e:
print "some other error message"
assert False
assert True
的“计数” 。从那里我们需要$group
使用该“值”并使用$push
累加器运算符返回具有相同“最大值”的文档数组。接下来4
$sort
您的文档$limit
并使用{{3}}返回_id
的最大值。{/ p>
4