Mohammed shebin Mohammed shebin - 2 years ago 359
Javascript Question

How to use for loop in mongodb

I need to insert a new field(column) to mongodb collection which has now 5246 documents. The field should be auto incremented . So that i use an for loop . My query is as follows `

for(i=1;i<=5246;i++) {

But my bad the output is as,


Is there any problem with query..?.

Answer Source

Why are you updating all records with no find criteria? Technically this loop is working as it should. What you need to do instead is loop through a cursor of your collection like so:

var cursor = db.coll.find(),
    i = 0;

    db.coll.update({_id: x._id}, {$set:{new_field:i}})

Something like that would work instead.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download