0

How to write correct this part of query:

parseFloat(data.versions.0.content.axdducvoxb) ?**

I try to change my fields type from string to float. I have a lot of documents with main element and history of same elements:

axdducvoxb
versions.0.content.axdducvoxb
versions.1.content.axdducvoxb
versions.2.content.axdducvoxb
.......

Code:

db.documents.find().forEach(function(data) {     
    db.documents.update({_id:data._id},
                        {$set: {axdducvoxb:parseFloat(data.axdducvoxb)}}); 
})

When I use it everything is OK:

db.documents.find({"type": "chair"}).forEach(function(data) {   
   db.documents.update({_id:data._id},
                       {$set:{'versions.0.content.axdducvoxb':
                               parseFloat(data.axdducvoxb)}}); 
})

When I use it I replace versions.0.content.axdducvoxb element to data.axdducvoxb element

But when I make correct replace I see the Error:

SyntaxError: Unexpected number

Code:

db.documents.find({"type": "chair"}).forEach(function(data) {   
    db.documents.update({_id:data._id},
                       {$set:{'versions.0.content.axdducvoxb':
                               parseFloat(data.versions.0.content.axdducvoxb)}}); 
})

data.versions[0].content.axdducvoxb does not work too

user3469031
  • 21
  • 1
  • 6

0 Answers0