我正在使用 $indexOfCP 來定位某些特定單詞的索引。不幸的是,它只回傳第一個結果。我想要所有的事件。另外,$indexOfCP 區分大小寫,我希望它不區分大小寫。
這是一個例子:
db.inventory.aggregate(
[
{
$project:
{
cpLocation: { $indexOfCP: [ "$item", "foo" ] },
}
}
]
)
{ $indexOfCP: [ "cafeteria", "e" ] } 結果:3
uj5u.com熱心網友回復:
您可以使用$regexFindAll回傳一個包含 key 中索引的陣列idx。所以你可以添加一個階段來得到cpLocation.idx這樣的:
另外添加"options": "i"正則運算式不區分大小寫。
db.collection.aggregate([
{
$project: {
cpLocation: {
"$regexFindAll": {
"input": "$item",
"regex": "e",
"options": "i"
}
},
}
},
{
"$addFields": {
cpLocation: "$cpLocation.idx"
}
}
])
示例在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/366967.html
標籤:MongoDB
