如何删除数组中的{}空字段.. nodejs

时间:2017-01-09 16:09:12

标签: node.js mongodb mongoose-schema

我正在使用以下代码...但如果状态为空,则在数据库中显示以下结果...如果状态为空,我想删除..

1地址{},状态{}保存在数据库中。

function CheckStatus(oldJob, newJob) {
  var obj = {};
  if(newJob && newJob.Status) { 
   obj.Status= {}; 
    if (oldJob.Status.total !== newJob.Status.total) {
      obj.Status.total = newJob.Status.total;
    }
    if (oldJob.Status.charge_description && oldJob.Status.charge_description !== newJob.Status.charge_description) {
      obj.Status.charge_description = newJob.Status.charge_description;
    }
  }
}

MongoDB的

 "Job" : {
        "_id" : ObjectId("5873b352e7621d08fccc5890"),
        "updated_by" : "",
        "details" : "{\"current_status\":\"Completed\",\"address\":{},\"Status\":{}}",
        "changetype" : "Update",
        "datetime" : ISODate("2017-01-09T15:59:14.202Z")
    },

请帮助输入If条件(下面的代码不起作用)

 if(obj.address = '{}')
  {
   console.log('Empty');

  }

1 个答案:

答案 0 :(得分:1)

将对象的值设置为undefined基本上会删除它们。您可以轻松地使用undefined关键字:
newJob.address = undefined;

我如何检查空对象并删除其内容:

if(Object.keys(newJob.address).length === 0 && obj.constructor === Object){
    newJob.address = undefined;
}

在这个问题的答案中可以更好地解释解决方案:
How do I test for an empty JavaScript object?