Table des matières

Migration MySQL à MongoDB

Il existe un outil, Mongify, pour migrer les données de MySQL à MongoDB, mais il est difficile à faire fonctionner.

Au lieu de cette méthode, on peut aller dans phpMyAdmin et exporter les données en format JSON.

Importation de fichiers JSON

En utilisant mongoimport, on peut importer des données dans MongoDB.

Exemple simple :

$ mongoimport --db users --collection contacts --file contacts.json --jsonArray

Autre exemple pour spécifier le host, username, password, etc:

$ mongoimport --host mongodb1.example.net --port 37017 --username user --password pass --collection contacts --db marketing --file /opt/backups/mdb1-examplenet.json
$ mongoimport --db databasename
    --collection collectionname --file data.json --jsonArray

Exportation

$ mongoexport --db sales --collection contacts --out contacts.json --jsonArray

Convertir les types

On peut convertir un type en utilisant directement du JavaScript dans la console de MongoDB:

db.beers.find({'id': {$type:1}}).forEach(function(x) {
    x.id = NumberInt(x.id);
    db.beers.save(x);
});

Source

Changer le nom d'une propriété

db.posts.update({}, {$rename: {"author_id": "author"}}, false, true);

Enlever une propriété

db.brewers.update({},{$unset: {beer_count:1}},false,true)

Mapper les id en int à des id en ObjectId

db.beers.find({style_id: {$ne: -1}}).forEach(function(x) {
    var style = db.styles.findOne({id: x.style_id});
    if (style) {
        x.style = style._id;
        db.beers.save(x);
    }
})