簡體   English   中英

如何在 pymongo 的 $match 查詢中使用 $and?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM