"use strict"; module.exports = function(db, module) { var helpers = module.helpers.mongo; module.setObject = function(key, data, callback) { data._key = key; db.collection('objects').update({_key:key}, {$set:data}, {upsert:true, w: 1}, helpers.done(callback)); }; module.setObjectField = function(key, field, value, callback) { var data = {}; field = helpers.fieldToString(field); data[field] = value; module.setObject(key, data, callback); }; module.getObject = function(key, callback) { db.collection('objects').findOne({_key:key}, {_id:0, _key:0}, callback); }; module.getObjects = function(keys, callback) { db.collection('objects').find({_key: {$in: keys}}, {_id: 0}).toArray(function(err, data) { if(err) { return callback(err); } var map = helpers.toMap(data); var returnData = []; for(var i=0; i