1

您如何处理 Mongo db 中的架构更改,例如,在重构后更改您的对象架构设计并影响文档架构。有没有办法更新文档架构?

4

1 回答 1

3

您可以在整个架构上运行更新,删除字段,或添加字段并将它们设置为计算值,如果这是您所得到的。

假设您有一个 x 字段,并且您想添加应设置为 x/2 的 ay 字段,您可以执行以下操作:

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 }
于 2012-04-30T02:01:50.463 回答