Categories

See More
Popular Forum

MBA (4887) B.Tech (1769) Engineering (1486) Class 12 (1030) Study Abroad (1004) Computer Science and Engineering (988) Business Management Studies (865) BBA (846) Diploma (746) CAT (651) B.Com (648) B.Sc (643) JEE Mains (618) Mechanical Engineering (574) Exam (525) India (462) Career (452) All Time Q&A (439) Mass Communication (427) BCA (417) Science (384) Computers & IT (Non-Engg) (383) Medicine & Health Sciences (381) Hotel Management (373) Civil Engineering (353) MCA (349) Tuteehub Top Questions (348) Distance (340) Colleges in India (334)
See More

Update many in mongoose

General Tech Bugs & Fixes

Max. 2000 characters
Replies

usr_profile.png

User

( 7 months ago )

I have a very simple case. I want to update my collection every midnight. Im using node-schedule:

 

schedule.scheduleJob('0 0 * * *', () => {
   Users.updateMany();
});

 

All I want to do, is to loop over every document in my collection (Users) and then if User.created is false, I want to turn it into true.

 

In javascript it would be:

 

for (let user in Users) {
   if (user.created === false) {
      user.created = true;
   }
} 

How to do it in mongoose?

usr_profile.png

User

( 7 months ago )

You can use updateMany() methods of mongodb to update multiple document

Simple query is like this

db.collection.updateMany(filter, update, options)

As per your requirement the update code will be like this:

User.updateMany({"created": false}, {"$set":{"created": true}});

here you need to use $set because you just want to change created from true to false. For ref. If you want to change entire doc then you don't need to use $set

 

what's your interest


forum_ban8_5d8c5fd7cf6f7.gif