var _id = ''; var update = { $addToSet: { 'purchased.plan.mysteryItems':{ $each:['head_mystery_201509','armor_mystery_201509'] } } }; /*var update = { $set:{ 'purchased.plan':{ customerId: "", dateCreated: new Date(), dateTerminated: null, dateUpdated:new Date(), gemsBought: 0, mysteryItems: [], paymentMethod: "Paypal", planId : "basic_earned" } } };*/ if (_id) { // singular (missing items) db.users.update({_id:_id}, update); } else { // multiple (once @ start of event) db.users.update([ {$and: [ { 'purchased.plan.customerId': { $ne:null } }, {$or: [ { 'purchased.plan.dateTerminated': { $gte: new Date() } }, { 'purchased.plan.dateTerminated': { $exists:false } }, { 'purchased.plan.dateTerminated': { $eq:null } } ]} ]} ], update, { multi:true }); }