Я работаю над проектом миграции с php5.6 на 7.x, в котором у меня есть json со специальными символами в ключах.Как я могу вставить это в mongodb?
В php5.6 я использовал MongoClient в качестве драйвера, который внутренне преобразует специальные символы, и, следовательно, я смог вставить документ.Но я не могу добиться того же в php7.Я использую MongoDB \ Driver \ Manager для подключения к Mongodb.
РЕДАКТИРОВАТЬ:
У меня есть набор API, поступающих из другой системы с форматом ниже
$content_array=
{
"context": {
"extensions": {
"http://id.tincanapi.com/extension/platform": "web",
"http://id.tincanapi.com/extension/browser-info": "Mozilla/5.0",
"http://id.tincanapi.com/extension/host-session-id": "4e320015"
}
}
}
$dbconnection = new MongoDB\Client($uri);
$db = $dbconnection->$dbname;
$collection = $db->$dbcoll;
$collection->insertOne(json_decode($content_array));
В приведенном выше тексте ничего не говорится: «Недопустимый документ для вставки: ключи не могут содержать \». \ ": В ключе».Я понимаю, что не рекомендуется использовать эти символы в ключе, так как этот фрагмент кода работает в php5.6 с использованием MongoClient, я хотел сохранить как можно меньше изменений при переходе на php7.
РЕДАКТИРОВАТЬ 2:
Кусок кода, который работает в php5.6
$dbconnection = new \MongoClient($dbhost, $options);
if (!empty($dbconnection)) {
$db = $dbconnection->selectDB($dbname);
$collection = $db->selectCollection($dbcoll);
$status = 0;
if (!empty($collection)) {
$collection->insert(json_decode($content_array));
$status = 1;
}
EDIT3:
часть меня была не права, не давая все детали сразу ..я делаю json_decode для преобразования в собственный массив php перед вставкой в mongo.
Любая помощь будет принята с благодарностью.Спасибо.