У меня есть база данных mon go, которая будет динамически создавать коллекции и вставлять в нее. Я пытаюсь извлечь данные из одной коллекции, используя этот код
$data = DB::collection('HW101950054393') -> raw(function($collection)use ($_id)
{
return $collection->aggregate([
[ '$match'=> ['_id'=>NEW ObjectId("5e411a0893ded505cc25a8cb") ] ],
[
'$replaceRoot'=> [
'newRoot'=> [
'$arrayToObject'=> [
'$filter'=> [
'input'=> [ '$objectToArray'=>'$$ROOT' ],
'cond'=> [
'$and'=> [
[ '$ne'=> [ '$$this.v', "" ] ],
[ '$ne'=> [ '$$this.k', "msg" ] ],
[ '$ne'=> [ '$$this.v', 0 ] ]
]
]
]
]
]
]
]
]);
});
, но этот запрос вернул ноль, даже если я уверен, что _id находится в коллекции
HW101950054393
но когда я пытаюсь использовать класс Collection, если я определил ранее, как этот код
$data = Logss::raw(function($collection)use ($_id)
{
return $collection->aggregate([
[ '$match'=> ['_id'=>NEW ObjectId("$_id") ] ],
[
'$replaceRoot'=> [
'newRoot'=> [
'$arrayToObject'=> [
'$filter'=> [
'input'=> [ '$objectToArray'=>'$$ROOT' ],
'cond'=> [
'$and'=> [
[ '$ne'=> [ '$$this.v', "" ] ],
[ '$ne'=> [ '$$this.k', "msg" ] ],
[ '$ne'=> [ '$$this.v', 0 ] ]
]
]
]
]
]
]
]
]);
});
it возвращает данные без проблем, но второй способ не работает для меня, так как моя система будет создавать коллекции динамически, и мне нужно автоматически извлекать данные из коллекций без определения класса, так как я могу это сделать