【问题标题】:Sequelize multiple delete on multiple columns续集多个列上的多个删除
【发布时间】:2021-11-24 23:51:40
【问题描述】:

我需要根据多列查询删除行,这是我的代码:

var destroyQuery = testArr.map(function(mc){
  return {
    id: mc.id,
    text: mc.text
  }
});
db.testModel.destroy({ where: destroyQuery }).then(function(dResponse){});

删除一条记录可以正常工作:

db.testModel.destroy({ where: {id: '123', text: 'abc'} }).then(function(dResponse){});

如何通过查询多列来删除多行。任何帮助表示赞赏。 谢谢

【问题讨论】:

    标签: javascript node.js sequelize.js


    【解决方案1】:

    对于函数中的参数“mc”,您应该使用下面给出的示例数组:

    var kvArray = [{key: 1, value: 10}, 
                   {key: 2, value: 20}, 
                   {key: 3, value: 30}];
    
    var reformattedArray = kvArray.map(function(obj) { 
       var rObj = {};
       rObj[obj.key] = obj.value;
       return rObj;
    });
    

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map查看这篇文章。可能是它解决你的目的。

    【讨论】:

      【解决方案2】:

      我使用了这个选项,既快速又简单

      var destroyQuery = testArr.map(function(mc){
         return {
             id: mc.id,
             text: mc.text
         }
      });
      db.testModel.destroy({
          where:{
              [Op.or]: destroyQuery 
          } 
      }).then(function(dResponse){});
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-06
        • 2015-09-23
        • 1970-01-01
        • 2020-04-19
        • 2022-01-14
        • 2016-04-16
        相关资源
        最近更新 更多