Following is how my Mongodb is stored. I want to update each document in my collection, where labId is 401 to true.
{
"_id" : ObjectId("5914a2ad6b2ee7b7c74ee150"),
"domainName" : "acts-corp.com.tw",
"userlevels" : [
{
"labId" : 104,
"userlevel" : true
},
{
"labId" : 401,
"userlevel" : false
},
{
"labId" : 202,
"userlevel" : true
},
{
"labId" : 102,
"userlevel" : true
}
],
"labconfigs" : [
ObjectId("5914a2ad6b2ee7b7c74ee14c"),
ObjectId("5914a2ad6b2ee7b7c74ee14d"),
ObjectId("5914a2ad6b2ee7b7c74ee14f"),
ObjectId("5914a2ad6b2ee7b7c74ee14e")
]
}
/* 2 */
{
"_id" : ObjectId("5914a2ad6b2ee7b7c74ee151"),
"domainName" : "adexus.cl",
"userlevels" : [
{
"labId" : 104,
"userlevel" : true
},
{
"labId" : 401,
"userlevel" : false
},
{
"labId" : 202,
"userlevel" : true
},
{
"labId" : 102,
"userlevel" : true
}
],
"labconfigs" : [
ObjectId("5914a2ad6b2ee7b7c74ee14c"),
ObjectId("5914a2ad6b2ee7b7c74ee14d"),
ObjectId("5914a2ad6b2ee7b7c74ee14f"),
ObjectId("5914a2ad6b2ee7b7c74ee14e")
]
}
And So i use multi:true to update all documents through mongoose command line. Here is my mongoose query till now & its not working fine.
Domain.model.update( {'userlevels.labID': newID }, {'$set': {'userlevels.$.userlevel': checked}},{multi:true}, function(err, result) {
if (err) return res.apiError('database error', err);
resolve(result);
});
via Inder R Singh
No comments:
Post a Comment