"use strict"; var winston = require('winston'); module.exports = function(db, module) { var helpers = module.helpers.mongo; module.setAdd = function(key, value, callback) { callback = callback || helpers.noop; if(!Array.isArray(value)) { value = [value]; } value.forEach(function(element, index, array) { array[index] = helpers.valueToString(element); }); db.collection('objects').update({ _key: key }, { $addToSet: { members: { $each: value } } }, { upsert: true, w: 1 }, function(err) { callback(err); }); }; module.setsAdd = function(keys, value, callback) { callback = callback || helpers.noop; if (!Array.isArray(keys) || !keys.length) { return callback(); } if(!Array.isArray(value)) { value = [value]; } value.forEach(function(element, index, array) { array[index] = helpers.valueToString(element); }); var bulk = db.collection('objects').initializeUnorderedBulkOp(); for(var i=0; i