Closed mikhael-artur closed 5 years ago
@mikhael-artur, try such as
$test = DB::collection('test')->raw()->aggregate(
[
['$unwind' => '$value'],
['$match' => ['value.id' => new Regex('32.04.06.*', 'i')]],
['$group' => ['_id' => null, 'value' => ['$push' => '$value']]],
['$project' => ['value' => 1, '_id' => 0]]
]
);
@mikhael-artur, can you answer me?
@mikhael-artur, can you answer me?
Sorry for the very late reply, I actually tried your solution last week but it didn't work. Just now, I tried it again and it worked! Looks like I made a mistake last week.
Anyway I found another solution to it
$cursor = DB::collection('ReferenceData')->raw()->aggregate(
[
['$unwind' => '$value'],
['$match' => ['value.id' => ['$regex' => '^32.04.06.*']]],
['$group' => ['_id' => null, 'value' => ['$push' => '$value']]],
['$project' => ['value' => 1, '_id' => 0]]
]);
Thank you very much!
@mikhael-artur, please close issue
I'm trying to get every value whose id start with '32.04.06.*'. I can get the correct data using the mongodb console like this:
But, when I try to use it on my Laravel web app, I got an empty array. I think this is because the regex become string so it looks for value that have id: "/32.04.06.*/" where there is none.
My Data:
My Code:
Expected Result:
What I got:
[]
, when using['$regex' => '/32.04.06.*/']
or['$regex' => '/32.04.06.*/']
syntax error, unexpected '/'
, when using['$regex' => /32.04.06.*/]