首页 > 解决方案 > 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循环还是有办法将整个数组内容作为一个变量一次插入?

标签: phparraysmongodb

解决方案


您可以尝试任何一种方式来处理此代码,如下所示

 ‘authors’ => [$authors]

推荐阅读