首页 > 解决方案 > mange 在 mongodb 中被删除(软删除),方法是在过滤器中检查现有条件

问题描述

我有一种情况,我必须检查公司名称和公司代码,如果两者都与现有匹配,而不是应该说存在,或者如果其中一个在现有数据库中匹配,那么它也应该说它存在。我将如何在 mongo 中使用?因此,如果数据接收 isDeleted 为真,那么我还想在 if 部分中添加检查是否不添加而不是检查 id 和更新的部分,那么我还想通过 isDelete,这样如果收到的任何数据之前被删除,那么它可以再次设置为false。我将如何处理这种删除场景?

{
    "userId":"tt838984984s",
  "company":{
  "addressee" : {
      "addressee" : "Ms.1", 
      "title_name" : "", 
      "salutation" : "Drks:", 
      "comments" : "", 
      "email" : "opus7ent@example.com", 
      "phone" : "123456666", 
      "fax" : "", 
      "extention_group" : "", 
      "ext" : ""
  }, 
  "abbreviation" : "", 
  "care_of" : "", 
  "address_1" : "HELLO2",
  "address_2" : "", 
  "address_3" : "", 
  "state" : "CA", 
  "zip" : "90024", 
  "is_deleted" : true, 
  "company_code" : "ABACAB", 
  "parent_company" : null, 
  "name" : "Abacab", 
  "createdBy" : "Data lolz", 
  "modifiedBy" : "Data", 
  "createdDate" : "2019-08-22T19:10:50.000+0000", 
  "modifiedDate" : "2019-08-22T19:10:50.000+0000", 
  "company_id_legacy" :1246, 
  "__v" : 0, 
  "is_registered_for" : false,

},
}


  is_deleted == false
    if(!isAdd) {
          filter["_id"] ={ "$ne" : id};
           }
        let filter = {
                 name: { $regex: new RegExp(`^${company.name}$`, 'i') },
                 company_code: { $regex: new RegExp(`^${company.company_code}$`, 'i') }
    }
    cModel.find(filter, function (err, docs) {
                            if (docs.length) {
                                result.error = "Name already exists: " + company.name;
                                console.log("Name already exists", null);
                                let resp = api_respose.getSuccessResponse(process.env.WEB_URI, result.error);
                                resolve(resp);
                            }
    else{
     ///saving here
    }

现在假设我传递了那个 JSON,如果有is_deleted = false(这是在 db 中添加新条目时的 Json)现在如果在 db 中有一些旧条目namecompany_code存在,is_delete =true那么它会抛出错误,名称已经退出

现在我的问题是如何解决这种情况?就像我想用新条目覆盖该文件一样,还是有其他方法可以做到这一点?

标签: javascriptnode.jsmongodbmongoose

解决方案


推荐阅读