PHP Как добавить весь массив в поле документа MongoDB

Я использую страницу php для вставки новых документов в мою базу данных MongoDB. Я хочу добавить массив авторов в поле документа (authors:['Sally Sue', 'Billy Bob']) через URI.

Вот содержимое моей php-страницы:

<?php
require __DIR__ . '/vendor/autoload.php'; // Composer autoloader

use MongoDB\Driver\Manager as Mongo;

// Set $_GET variables
if (isset($_GET['authors'])){
    $authors = explode(',', filter_var($_GET['authors'], FILTER_SANITIZE_STRING));
} else {
    $authors = 'N/A';
}

$mongo = new Mongo("mongodb://127.0.0.1:27017/myDB");
$db = new MongoDB\Database($mongo, "myDB");    
$collection = $db->selectCollection("articles");
$result = $collection->insertOne([
    'authors' => $authors,
]);

print_r($result);

?>

строка URI:

http://x.x.x.x/mySite/insertArticle.php?authors=Sally%20Sue,%20Billy%20Bob

Однако код вставляет мою переменную $authors в виде строки:

Notice: Array to string conversion in /var/www/html/mySite/insertArticle.php on line 17

Как я могу вставить переменную $authors в виде массива? Должен ли я использовать цикл for или есть способ вставить все содержимое массива сразу как одну переменную?

Какая строка номер 61?

Rahul 10.04.2019 21:59

Ой, здесь должна быть строка 16. Это очередь 'authors' => $authors.

velkoon 10.04.2019 22:00

Может хотите collection.insertMany() - хотите всех авторов в 1 документе или пару?

dWinder 10.04.2019 22:01

Вы можете попробовать как «авторы» => [$authors]

Rahul 10.04.2019 22:01

Несколько авторов для 1 документа

velkoon 10.04.2019 22:01

@RahulMeshram - Большое спасибо! По какой-то причине я не мог найти никого в Google, говорящего, как это сделать. Они продолжали говорить, что вы должны указывать определенный индекс при обращении к массиву. Работал отлично.

velkoon 10.04.2019 22:02

@velkoon Добро пожаловать. Я разместил свой ответ с подтверждениями.

Rahul 10.04.2019 22:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать работать с этим кодом следующим образом.

 ‘authors’ => [$authors]

Пожалуйста, добавьте ссылку на официальный документ mongoDB — это поможет будущим программистам.

dWinder 10.04.2019 22:04

Я желаю дружище. У меня на сотовом сложно нажать ctrl+L что ли. Я надеюсь, вы понимаете. Завтра обязательно сделаю

Rahul 10.04.2019 22:05

Другие вопросы по теме