MongoDB更新转换模式

问题描述:

我想转换集合的所有文档。MongoDB更新转换模式

比如我有

{ 
     "_id": ObjectId("5004918de59cfc4e92ba1cf6"), 
     "field1": 1, 
     "field2": 2, 
     "field3": 3, 
     "field4": 4 
    } 

,我想这样的

{ 
    "_id": ObjectId("5004918de59cfc4e92ba1cf6"), 
    "fieldSet1": { 
     "field1": 1, 
     "field2": 2 
    }, 
    "fieldSet2": { 
     "field3": 3, 
     "field4": 4 
    } 
} 

感谢的改造为您宝贵的帮助! Gilles。

您可以使用mongo的rename函数。

在您的例子:

db.yourcollection.update({ _id: 1 }, 
    { $rename: { "field1": "fieldSet1.field1", 
       "field2": "fieldSet1.field2", 
       "field3": "fieldSet2.field3", 
       "field4": "fieldSet2.field4", } })