mongodb:转换文档结构,将数组设置为单个元素

时间:2015-12-29 20:14:37

标签: javascript mongodb meteor

不幸的是,我在某些文件中有错误。某些类别数据存储为数组。这不是必需的,因为总有一个类别。

那么如何检查是否存在与此结构相匹配的文档:

{
    "_id" : "q9q2He72qve62mr10",
    "category" : [
        {
            "element" : "Anything"
        }
    ],
    "order" : 1
}

...并将其转换为:

{
    "_id" : "q9q2He72qve62mr10",
    "category" : "Anything",
    "order" : 1
}

1 个答案:

答案 0 :(得分:0)

这有用吗?

var data = [{
    "_id": "1",
    "category": [{
        "element": "In Array"
    }],
    "order": 1
}, {
    "_id": "2",
    "category": "Single Item",
    "order": 1
}];

console.table(data);

data.forEach(function(v) {
    if (typeof v.category === 'object' && typeof v.category.length === 'number') {
        v.category = v.category[0].element;
    }
});

console.table(data);

在forEach循环之前: enter image description here

循环后: enter image description here