MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Remodeler tous les documents de la collection

Vous pouvez utiliser l'aggregation en particulier le $project opérateur pour cela. Le $out permet d'écrire le résultat dans une autre collection.

db.collection.aggregate([
    { "$project": {
        "_id": "$_id", 
        "name": "$item.name",
        "price": "$item.price", 
        "quantity": "$item.quantity", 
        "date": "$item.date"}
    }, 
    { "$out": "collection"}
])

Vos documents ressemblent maintenant à ceci :

{
    "_id" : 1,
    "name" : "abc",
    "price" : 10,
    "quantity" : 2,
    "date" : ISODate("2014-03-01T08:00:00Z")
}

Vous pouvez également écraser la collection préexistante en donnant à la nouvelle collection de résultats le même nom mais ceci.