# matches all documents with "column1" value of "value"
stage_1 = {"$match": {"column1": "value"}}
# pulls the values "_id", "column1", "column4", and "column2" into the query response
stage_2 = {"$project": {"_id": 1, "column1": 1, "column4": 1, "column2": 1}}
# limits the number of responses to 1
stage_3 = {"$limit": 1}
pipeline = [stage_1, stage_2, stage_3]
results = list(tb.aggregate(pipeline))
3条答案
按热度按时间p1iqtdky1#
您可以使用aggregation管道查询。使用$match、$project和$limit可以返回与特定条件匹配的文档的某些字段。
PyMongo示例:
e1xvtsh32#
您所做的完全正确。如果您只需要这些列,请使用
1
包含操作符指定它们。我很想知道您看到了什么建议:印刷品:
b4lqfgs43#
您可以在投影子句中将字段设定为0或false,以指定要排除的字段。文件中除了您指定要排除的字段之外,所有字段都会包含在查询结果中。
这里有一个mongo playground供您参考。
引用:$project