我将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,
.....
}
答案 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
。