我已经看过这两篇帖子
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"
],
}
但它不起作用。请帮忙。
答案 0 :(得分:1)
i = i.toLowerCase()
实际上并不更新对象。相反,您可以使用地图替换数组本身:
e.trackNames = e.trackNames.map(function (trackName) {
return trackName.toLowerCase();
});
这将更新原始对象上的trackNames数组,然后可以保存。