Mongodb:对象架构更改对文档设计的影响

时间:2012-04-30 01:34:55

标签: mongodb

如何处理Mongodb中的架构更改,例如:重构之后,您可以更改对象架构设计并影响文档架构。有没有办法更新文档架构?

1 个答案:

答案 0 :(得分:3)

您可以对整个架构运行更新,删除字段或添加字段并将其设置为计算值(如果这是您正在获取的内容)。

假设你有一个x字段,并且想要添加一个应该设置为x / 2的y字段,你可以这样做:

PRIMARY> db.test.insert({x:15});
PRIMARY> db.test.insert({x:30});
PRIMARY> db.test.insert({x:50}); 
PRIMARY> db.test.find();
{ "_id" : ObjectId("4f9df1ebed2b924eedb8cad9"), "x" : 15 }
{ "_id" : ObjectId("4f9df1eeed2b924eedb8cada"), "x" : 30 }
{ "_id" : ObjectId("4f9df1f1ed2b924eedb8cadb"), "x" : 50 }
PRIMARY> db.test.find().forEach(function(doc) { 
            doc.y = doc.x/2; 
            db.test.save(doc); 
         });
PRIMARY> db.test.find();
{ "_id" : ObjectId("4f9df1ebed2b924eedb8cad9"), "x" : 15, "y" : 7.5 }
{ "_id" : ObjectId("4f9df1eeed2b924eedb8cada"), "x" : 30, "y" : 15 }
{ "_id" : ObjectId("4f9df1f1ed2b924eedb8cadb"), "x" : 50, "y" : 25 }