PHP如何将整个数组添加到MongoDB文档字段

时间:2019-04-10 19:44:17

标签: php arrays mongodb

我正在使用php页在MongoDB数据库中插入新文档。我想通过URI将一系列作者添加到文档字段(authors:['Sally Sue', 'Billy Bob'])中。

这是我的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循环还是有一种方法可以一次将整个数组的内容作为一个变量全部插入?

1 个答案:

答案 0 :(得分:0)

您可以按照以下两种方式尝试使用此代码

 ‘authors’ => [$authors]