使用mongo shell更改mongodb中的文档结构

时间:2016-05-27 15:09:31

标签: mongodb mongo-shell

我在mongodb中有一个文档结构,我想为我的所有文档更改它而不使用像response这样的聚合函数,但是通过创建一个特定的函数,并得到一个结果:

{
"_id" : ObjectId("String"),
"content" : {
    "href" : "String",
    "text" : "String",
    "code" : "String "
}
}

到那个:

{
"_id" : ObjectId("String"),
"href" : "String",
"text" : "String",
"code" : "String "
}

请提出任何建议。谢谢。

2 个答案:

答案 0 :(得分:3)

简单的方法是使用聚合框架。 然后将输出保存到Font { id: header family: 'Encode Sans' weight: Font.Black italic: false pointSize: 24 } Text { text: "This is a header" font: header } ,验证后您可以删除旧的并重命名创建的。

Font {

答案 1 :(得分:3)

如果您不喜欢聚合(或者您的content的内容可能因文档而异),您也可以使用

 db.coll.find().forEach(function (d) {
    db.coll.update({
        _id : d._id
    }, {
        $set : d.content,
        $unset : {
            'content' : 1
        }
    })
});