[英]How to use $and in $match query with pymongo?
我現在的查詢是
events = mdb.events.aggregate([
{"$match": {"type": "ClientService"}},
{"$project": {"value": 1, "day": {"$dayOfYear": "$timestamp"}, "count": {"$add": [1]}}},
{"$group": {"_id": {"day": "$day", "value": "$value"}, "count": {"$sum": "$count"}}},
{"$sort": {"day": -1, "value": 1}}
])
如何修改此查詢以在 $match 查詢中使用“$and”語句通過多個參數查找文檔?
來自 MongoDB 文檔。
MongoDB 在指定逗號分隔的表達式列表時提供隱式 AND 操作。 當必須在多個表達式中指定相同的字段或運算符時,需要將顯式 AND 與 $and 運算符一起使用。
無論如何,'$and' 的語法在聚合中保持不變,即
{ $and: [ { <expression1> }, { <expression2> } , ... , { <expressionN> } ] }
所以你的查詢看起來像
events = mdb.events.aggregate([
{"$match": {"$and" : [{"type": "ClientService"},{"some_key":"value"}]}},
{"$project": {"value": 1, "day": {"$dayOfYear": "$timestamp"}, "count": {"$add": [1]}}},
{"$group": {"_id": {"day": "$day", "value": "$value"}, "count": {"$sum": "$count"}}},
{"$sort": {"day": -1, "value": 1}}
])
$or
、 $not
、 $ne
等也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.