ОБНОВЛЕНИЕ mongoDB — Обходной путь в проблеме Позиционного $ Оператора

Я довольно долго искал информацию об обновлении вложенного массива в mongoDB. До сих пор я знал, что существует проблема с позиционным оператором $ для глубокого массива, посмотрите это: https://jira.mongodb.org/browse/SERVER-831

Но есть ли здесь кто-нибудь, кто мог бы помочь мне обойти это?
Это моя примерная схема:

{
folder_data : [
{
"folderName" : "First",
"otherFolder" : []
},
{
"folderName" : "Second",
"otherFolder" : [
{
"folderName" : "SecondA",
"otherFolder" : [
{
"folderName" : "SecondB",
"otherFolder" : [

// put my new data here

]
},
{
"folderName" : "SecondBextra",
"otherFolder" : []
}
]
},
{
"folderName" : "SecondAextra",
"otherFolder" : []
},
]
}
]
}

и это так далеко я сделал:

Рабочая (для первого массива):

$collection->update(
array('folder_data.folderName' => 'Second'),
array('$set' => array('folder_data.$.otherFolder' => array('test' => 'sample')))
);

Не работает :

$collection->update(
array(
'folder_data.folderName' => 'Second',
'folder_data.otherFolder.folderName' => 'SecondA',
'folder_data.otherFolder.otherFolder.folderName' => 'SecondB'
),
array('$set' => array('folder_data.$.otherFolder.$.otherFolder.$.otherFolder' => array('test' => 'sample'))));

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]