我想根據提供的值過濾陣列物件。我在過濾器文本框中使用以下查詢以及投影。似乎沒有應用過濾器。
我也試過以下但不幸的是陣列沒有被過濾
{ MissingPersonIds : {$elemMatch: { PhotoId : '2 - Copy (3).jpg'}} }

篩選:
{ "MissingPersonIds.PhotoId" : "2 - Copy (3).jpg" }
投影:
{ MissingPersonIds : { $slice: [1,10] }}
架構是:
[{
"_id": {
"$oid": "61ada7da9a30fd8471869bbc"
},
"ImportKeyId": 5843,
"MissingPersonIds": [
{
"PhotoId": "2 - Copy.jpg",
"Description": "Account ID not found"
},
{
"PhotoId": "2 - Copy (2).jpg",
"Description": "Account ID not found"
},
{
"PhotoId": "2 - Copy (3).jpg",
"Description": "Account ID not found"
},
{
"PhotoId": "2 - Copy - Copy.jpg",
"Description": "Account ID not found"
},
{
"PhotoId": "2 - Copy - Copy (2).jpg",
"Description": "Account ID not found"
}
]
}]
我期待的輸出是:
[{
"_id": {
"$oid": "61ada7da9a30fd8471869bbc"
},
"ImportKeyId": 5843,
"MissingPersonIds": [
{
"PhotoId": "2 - Copy (3).jpg",
"Description": "Account ID not found"
}
]
}]
uj5u.com熱心網友回復:
您需要$filter在投影中過濾陣列中的元素。
db.collection.find({},
{
"MissingPersonIds": {
$filter: {
input: "$MissingPersonIds",
cond: {
"$eq": [
"$$this.PhotoId",
"2 - Copy (3).jpg"
]
}
}
}
})
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/374672.html
標籤:数组 MongoDB mongodb-查询 mongodb-指南针
