我在下面的鏈接中實作了一個查詢,其中我試圖根據inside中的city
值獲取所有倉庫。換句話說,其中的每個字串值都是一個必須與 depots 匹配的城市,并且應該獲取相應的 depots。charge_level_key
contracts
charge_level_key
當前的實作是區分大小寫的。我需要讓它在不區分大小寫的情況下以同樣的方式作業。我該怎么做
https://mongoplayground.net/p/ZH6K5gkJxrs
提前致謝
uj5u.com熱心網友回復:
對于常規$lookup
,您可以使用管道$toLower
:
db.contracts.aggregate([
{$match: {_id: ObjectId("630c9e23fb146c4b3b801b9e")}},
{$set: {
charge_level_key: {$map: {input: "$charge_level_key", in: {"$toLower": "$$this"}}}
}},
{
$lookup: {
from: "depots",
let: {charge_level_key: "$charge_level_key"},
pipeline: [
{$match: {
$expr: {
$in: [{$toLower: "$city"}, "$$charge_level_key"]
}
}
}
],
as: "depots"
}
},
{$sort: {count: -1}}
])
看看它在操場上的例子是如何作業的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/506442.html