mohamed hamada
mohamed hamada

Reputation: 574

Mongodb Return only matched elements within array

is it possible to return only matched elements within array that contains Accessories

input sample

[
{
  "values":[
     "Aerial and fa ade cables Accessories",
     "LANmark 5 Shielded Cable",
     "Market challenges"
  ],
  "doc":"doc1"
},
{
  "values":[
     "Aerial and fa ade cables ",
     "Tools Accessories"
  ],
  "doc":"doc2"
}
]

expected output

 "Aerial and fa ade cables Accessories",
 "Tools Accessories"

Upvotes: 1

Views: 46

Answers (1)

Basu_C
Basu_C

Reputation: 410

This snippet should work here:
Mongo v4.2.3

db.collection.aggregate([
   {$unwind: "$values"},
   {$match: { values: { $regex: /accessories/i } }},
   {$project:{values: 1, _id: 0}}
])

Upvotes: 2

Related Questions