Node.js Mongoose js-pushAll、concat阵列

Node.js Mongoose js-pushAll、concat阵列,node.js,mongoose,Node.js,Mongoose,我需要更新(批量)许多实体。 每个实体都有一个字段,其值为数组。 我想将整个数组合并到mongo中的现有数组中。 例如: 假设我们有字段“myField”,并且(其值)保存在mongo中的数组是:[4,5,6] 我想将数组[1,2,3]连接到这个字段,因此结果: myField:[1,2,3,4,5,6] 我尝试了一些选择: pushAll-但它不再可用 usePushEach:true,在选项-不工作中,仍然会得到相同的错误: “未知修饰符:$pushAll。应为指定为数组的有效更新修饰符或

我需要更新(批量)许多实体。 每个实体都有一个字段,其值为数组。 我想将整个数组合并到mongo中的现有数组中。 例如: 假设我们有字段“myField”,并且(其值)保存在mongo中的数组是:[4,5,6] 我想将数组[1,2,3]连接到这个字段,因此结果: myField:[1,2,3,4,5,6]

我尝试了一些选择:

  • pushAll-但它不再可用

  • usePushEach:true,在选项-不工作中,仍然会得到相同的错误: “未知修饰符:$pushAll。应为指定为数组的有效更新修饰符或管道样式更新”

  • 我读过关于concat的文章,但它看起来并不兼容


  • 提前谢谢

    您可以使用$addToSet将值添加到现有数组中,并避免重复

    [
      {
        id: 1,
        values: [
          1,
          2,
          3
        ]
      }
    ]
    

    _

    应如何处理重复项?您是否将
    myField
    设置为一个集合,或者是否会出现重复?我需要重复项,解决方案是“推送”和“每个”。谢谢大家!@如果这解决了您的问题,请单击左侧的复选标记接受答案。
    db.collection.update({
      id: 1
    },
    {
      "$addToSet": {
        values: {
          "$each": [
            5,
            7,
            1,
            44
          ]
        }
      }
    })