mongoDB改变现有的JSON格式

时间:2013-12-26 18:55:27

标签: json mongodb format

我有一个包含Person属性的集合。首先我将人员添加到mongodb,其字段名为:

{FirstName,LastName,AddressLine1,AddressLine2,City,PhoneNumber,PhoneNumbertype,Email}

但现在我需要改变JSON的格式:

{FirstName,LastName,{AddressLine1,AddressLine2,City},{PhoneNumber,PhoneNumberType},{EmailAddress}}.

因此,某些字段应该是对象的属性。 有没有简单的方法可以做到这一点?像命令或什么?

1 个答案:

答案 0 :(得分:3)

一种简单的方法,假设您可以节省迭代您的用户集合,这可能会非常慢,具体取决于集合中的文档数量,但很简单:

db.users.find().forEach(function(d) {
    var address = {
        AddressLine1 : d.AddressLine1,
        AddressLine2 : d.AddressLine2,
        City : d.City
    }
    delete(d.AddressLine1)
    delete(d.AddressLine2)
    delete(d.City)
    d.Address = address
    db.users.save(d)
})

错过了您想要嵌入手机部分的部分,但原理是相同的