Please refer the following document
{
"_id" : ObjectId("594b9eb9e1b22e09f8af00ee"),
"Name" : "Master List",
"UserId" : ObjectId("594b9eb9e1b22e09f8af00ed"),
"Items" : [
{
"_id" : ObjectId("59485d9d0fd04d1294e06766"),
"Title" : "Muscle Milk Protein",
},
{
"_id" : ObjectId("59485d9d0fd04d1294e06772"),
"Title" : "Baby Macro Organic 120g",
},
{
"_id" : ObjectId("59485d9d0fd04d1294e06780"),
"Title" : "Fruit Bread Soft Strap",
}
]
}
From the above document, I want results based on the search string For eg: "/.Mus./" I should get the following result, but I am getting entire Items details as above
{
"_id" : ObjectId("594b9eb9e1b22e09f8af00ee"),
"Name" : "Master List",
"UserId" : ObjectId("594b9eb9e1b22e09f8af00ed"),
"Items" : [
{
"_id" : ObjectId("59485d9d0fd04d1294e06766"),
"Title" : "Muscle Milk Protein",
}
]
}
I tried the following queries but none of this fetches the matched title from Items subdocument
Query1: db.getCollection('List').find({'UserId': new ObjectId("594b9eb9e1b22e09f8af00ed"), 'Items': {'$elemMatch': {'Title': <code>{$regex:'.*uscle. *'}}}})
Query2: db.getCollection('List').find({'UserId': new ObjectId("594b9eb9e1b22e09f8af00ed"), 'Items.Title': <code> {$regex:'.*Mus. *'}})
Can you please help?
Thanks in advance.