【问题标题】:How to remove AND add to array in Mongoose? (NodeJS)如何在 Mongoose 中删除并添加到数组中? (NodeJS)
【发布时间】:2017-08-22 04:44:37
【问题描述】:

我正在尝试根据数组的差异来更新数组。

例如,我有这个:

...
tags: ['foo', 'bar'],
...

我想用以下模型数组 ['foo', 'baz'] 更新它,使其变为:

...
tags: ['foo', 'baz'],
...

如你所见,它将'foo'留在模型数组中,但会取出'bar',并添加'baz',因为它在模型数组中。

现在,我现在正在做的是:

$addToSet: {
  tags: {
    $each: req.body.conversation.tags
  }
}

这很棒,仅适用于添加标签...不删除请求正文中提供的任何标签。我应该如何构造我的查询,以便能够动态地从我的数组中添加和删除任何项目不重复?

感谢任何指导。

谢谢。

【问题讨论】:

    标签: arrays node.js mongodb mongoose


    【解决方案1】:

    然后您可以使用 slice 命令删除'bar',使用与此相同的技术:

    { $slice: [ [ 1, 2, 3 ], 2 ] } 将返回 [1, 2]

    将切片数组保存为新数组,然后简单地将新变量推送到数组中。

    不要以为只有一个函数可以做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2015-03-27
      • 2023-01-09
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多