// caution, this will mutate the array of records! function recordsToObjs (list) { return listify(list).map(function (record) { record.id = record._id.toString(); delete record._id; return record; }); }
function findByField (field, ids, coll) { var query = {}; query[field] = { $in: listify(ids) }; return coll.find(query).then(function (results) { return recordsToObjs(results); }); }
function validateAndSave (modelList, schema, coll) { modelList = listify(modelList).map(function (model) { // will throw when a validation fails return validate(model, schema, coll); }); return coll.insert(modelList).then(function (success) { return recordsToObjs(success); }); }
function objectIds (id, coll) { return listify(id).map(function (id) { return coll.id(id); }); }