如何在pymongo中获得数组长度?

时间:2017-02-02 08:49:20

标签: arrays mongodb pymongo

我看了这篇文章How can I get the length of a MongoDb array field?

我试过这些代码:

results=db.posts.find()
results[0].comments.length

我确信帖子和评论存在。但它不起作用。它将返回错误:

AttributeError: 'comments' object has no attribute 'length'

如何解决?

2 个答案:

答案 0 :(得分:3)

Pymongo以文字形式返回文件。 find()返回一个dicts数组。你需要:

len(results[0]['comments'])

答案 1 :(得分:0)

如果您只想要数组的长度,请执行:

result = client.aggregate([
    {
        '$project': {
            'my_array_length': {'$size': '$my_array'}
        }
    }
])