Javascript 将MongoDB集合更新为数组字段的小写
我已经看过这两篇文章了 及 但是这些对我没有帮助 我收集了一些文件,如:Javascript 将MongoDB集合更新为数组字段的小写,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我已经看过这两篇文章了 及 但是这些对我没有帮助 我收集了一些文件,如: { "_id": "58bda97de000ae205f77c6e0", "artistName": "ABC", "trackNames": [ "1A", "1B", "1C", "1D" ], } db.artist.find().forEach(function(e) { e.trackNames.forEach(function(i){ i=i.toLowerCase(); db.artist.save
{
"_id": "58bda97de000ae205f77c6e0",
"artistName": "ABC",
"trackNames": [
"1A",
"1B",
"1C",
"1D"
],
}
db.artist.find().forEach(function(e) {
e.trackNames.forEach(function(i){
i=i.toLowerCase();
db.artist.save(e)})})
我想将trackNames字段的所有值更改为小写。如下所示:
{
"_id": "58bda97de000ae205f77c6e0",
"artistName": "ABC",
"trackNames": [
"1a",
"1b",
"1c",
"1d"
],
}
到目前为止,我一直这样尝试:
{
"_id": "58bda97de000ae205f77c6e0",
"artistName": "ABC",
"trackNames": [
"1A",
"1B",
"1C",
"1D"
],
}
db.artist.find().forEach(function(e) {
e.trackNames.forEach(function(i){
i=i.toLowerCase();
db.artist.save(e)})})
但它不起作用。请帮助。i=i.toLowerCase()
实际上并不更新对象。相反,您可以使用映射替换阵列本身:
e.trackNames = e.trackNames.map(function (trackName) {
return trackName.toLowerCase();
});
这将更新原始对象上的trackNames数组,您可以保存该数组。谢谢。这很有帮助。我以前从未用过地图。需要学习的新内容。@Arijit
.map
迭代数组并返回一个新数组,其中包含从回调返回的值。