Sto cercando di concatenare due campi in mongo db utilizzando php per un enorme set di dati. Di seguito è la soluzione di esempio che ho trovato e provato finora ma questo non funziona in PHP. Qualcuno può aiutare con le correzioni necessarie se del codice qui sotto.Concatenazione di campi di mongo db utilizzando php
var pipeline = [
{
"$project": {
"data1": 1,
"data2": { $concat: [ "$data1", " ", "$data2" ] }
}
}
],
cursor = db.collection.aggregate(pipeline),
bulkUpdateOps = cursor.map(function (doc) {
return {
"updateOne": {
"filter": { "_id": doc._id },
"update": { "$set": { "data2": doc.data2 } }
}
};
});
db.collection.bulkWrite(bulkUpdateOps);
Sto installando mongo-php-library come lei ha suggerito nei commenti utilizzando il comando compositore:
$composer require "mongodb/mongodb=^1.0.0"
ma non ha funzionato. php mongo driver is 1.6.12. e la versione di dongo di mongo è 3.2.3. e l'errore è il seguente:
Your version of PHP, 5.4.16, is affected by CVE-2013-6420 and cannot safely perform certificate validation, we strongly suggest you upgrade.
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- mongodb/mongodb 1.0.1 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.0.0 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system.
- Installation request for mongodb/mongodb ^1.0.0 -> satisfiable by mongodb/mongodb[1.0.0, 1.0.1].
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php.ini
- /etc/php.d/curl.ini
- /etc/php.d/dom.ini
- /etc/php.d/fileinfo.ini
- /etc/php.d/json.ini
- /etc/php.d/mbstring.ini
- /etc/php.d/mysql.ini
- /etc/php.d/mysqli.ini
- /etc/php.d/pdo.ini
- /etc/php.d/pdo_mysql.ini
- /etc/php.d/pdo_sqlite.ini
- /etc/php.d/phar.ini
- /etc/php.d/posix.ini
- /etc/php.d/sqlite3.ini
- /etc/php.d/sysvmsg.ini
- /etc/php.d/sysvsem.ini
- /etc/php.d/sysvshm.ini
- /etc/php.d/wddx.ini
- /etc/php.d/xmlreader.ini
- /etc/php.d/xmlwriter.ini
- /etc/php.d/xsl.ini
- /etc/php.d/zip.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, deleting ./composer.json.
Ho bisogno di un aiuto per l'installazione di questa libreria. Sto installando la versione sbagliata?
si può mostrare il codice PHP tentativi? – chridam