Mongo集合结构迁移

时间:2017-11-29 13:52:57

标签: mongodb mongoose

我是Mongodb的一个相对新人,我遇到的情况我不太清楚我是如何解决的。我在mongoose模式中有这个字段定义:

account_number: {
                type: String,
                index: false,
                required: false
            },

我要转换为

account_number: [
            {
                type: String,
                index: false,
                required: false
            }
        ],

哪个好,我坚持的观点是将现有定义中仍保留的数据转换为新的数组格式。我如何在命令行上执行此操作?

编辑:

我现在有这个:

    db.customers.find().snapshot().forEach(function (elem) {
    db.customers.update({_id: elem._id},{$unset: {account_number: 1}}); 
db.customers.update({_id: elem._id},{$push: {account_number: elem.account_number}});});

这是将数据重新创建为数组,但它是空白的。

1 个答案:

答案 0 :(得分:1)

好的,这就是我的工作:

db.customers.find().forEach(function (elem) {
  db.customers.update({_id: elem._id}, {$unset: {account_number: 1}}); 
  db.customers.update({_id: elem._id}, {$push: {account_number: elem.account_number}});
});

对于任何发现此内容的人