使用烧瓶pymongo从嵌套字段检索mongodb数据

时间:2019-07-16 08:28:21

标签: python mongodb flask pymongo

我将id和customer id字段作为参数传递以获得文档。使用下面的代码,我只能获取文档的那些字段。如何获取带有多个字段作为参数的整个文档?

代码:

@reviews.route('/<inp_id>/<cat_id>', methods=['GET'])
def index(inp_id, cat_id):
    my_coln = mongo_connection.db.db_name
    document = collection.find_one({'id': inp_id}, {'category.id': cat_id})

结果:

{
  "category": {
    "id": "13"
  }, 
  "_id": "5cdd36cd8a348e81d8995d3b"
}

我想要:

{
  "customer": {
    "id": "1", 
    "name": "Kit Data"
  }, 
  "category": {
    "id": "13", 
    "name": "TrainKit"
  }, 
  "review_date": "2019-05-06", 
  "phrases": null, 
.....
}

1 个答案:

答案 0 :(得分:0)

在第一个字典中通过所有过滤器,第二个用于投影。

document = collection.find_one({'id': inp_id, 'category.id': cat_id})


您最初的查询collection.find_one({'id': inp_id}, {'category.id': cat_id})意味着只给我{{1}的值的文档category.id(除了默认返回的_id之外,什么也没有给我) }}等于id