将MongoDB集合更新为forcase的数组字段

时间:2017-03-09 19:23:18

标签: javascript node.js mongodb

我已经看过这两篇帖子

Update MongoDB collection using $toLower

To loop through non associative array in mongoDB

但那些对我没有帮助。

我有一个包含这样的文档的集合:

File.open('file').each_line do |line|
  puts line.split
end

我想将trackNames字段的所有值更改为小写。就像这样:

{
"_id": "58bda97de000ae205f77c6e0",

"artistName": "ABC",

"trackNames": [
"1A",
"1B",
"1C",
"1D"
],
}

直到现在我试着这样:

{
    "_id": "58bda97de000ae205f77c6e0",

    "artistName": "ABC",

    "trackNames": [
    "1a",
    "1b",
    "1c",
    "1d"
    ],
    }

但它不起作用。请帮忙。

1 个答案:

答案 0 :(得分:1)

i = i.toLowerCase()实际上并不更新对象。相反,您可以使用地图替换数组本身:

e.trackNames = e.trackNames.map(function (trackName) {
  return trackName.toLowerCase();
});

这将更新原始对象上的trackNames数组,然后可以保存。