Javascript 使用if/else mongodb update缩短JS函数
有没有可能把这个函数缩短一点?我不喜欢几乎相同的if/else更新。唯一的区别是Javascript 使用if/else mongodb update缩短JS函数,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,有没有可能把这个函数缩短一点?我不喜欢几乎相同的if/else更新。唯一的区别是“status.edited”:false,只有在method=reset时才应设置该值。否则就不应该修改 function updateVersion(id, method) { var timestamp = new Date().getTime(); if (method == 'reset') { Collection.update( { _id: i
“status.edited”:false
,只有在method=reset时才应设置该值。否则就不应该修改
function updateVersion(id, method) {
var timestamp = new Date().getTime();
if (method == 'reset') {
Collection.update(
{ _id: id },
{
$set: { 'status.version': timestamp, 'status.edited': false },
$unset: { 'status.editing': '' }
}
);
}
else {
Collection.update(
{ _id: id },
{
$set: { 'status.version': timestamp },
$unset: { 'status.editing': '' }
}
);
}
}
为动态属性创建对象并将其传递给查询
var set = {
'status.version': timestamp
};
if(method === 'reset') {
set['status.edited'] = false;
}
Collection.update({
_id: id
}, {
$set: set,
$unset: {
'status.editing': ''
}
});
为动态属性创建对象并将其传递给查询
var set = {
'status.version': timestamp
};
if(method === 'reset') {
set['status.edited'] = false;
}
Collection.update({
_id: id
}, {
$set: set,
$unset: {
'status.editing': ''
}
});
您可以动态生成查询,如下所示:
function updateVersion(id, method) {
var timestamp = new Date().getTime();
var update = {
'$set': { 'status.version': timestamp },
'$unset': { 'status.editing': '' }
};
if (method === 'reset')
update['$set']['status.edited'] = false;
Collection.update( { '_id': id }, update );
}
您可以动态生成查询,如下所示:
function updateVersion(id, method) {
var timestamp = new Date().getTime();
var update = {
'$set': { 'status.version': timestamp },
'$unset': { 'status.editing': '' }
};
if (method === 'reset')
update['$set']['status.edited'] = false;
Collection.update( { '_id': id }, update );
}