如果不存在则推送或更新嵌套数组mongoose

时间:2018-02-01 11:35:47

标签: node.js mongodb

我有这样的模特

{
  "array1": [
    {
      "_id": "12",
      "array2": [
        {
          "_id": "123",
          "answeredBy": []
        }
      ]
    }
  ]
}

如果我在array1中有id,请将文档推入array2或在array1中创建新文档。

例如:

如果我给了新对象

{
  "array1": [
    {
      "_id": "123",
      "array2": [
        {
          "_id": "123",
          "answeredBy": [],
        },
        {
          "_id": "456",
          "answeredBy": []
        }
      ]
    }
  ]
}

否则,如果给出除了123之外的array1的_id,即不存在,即657

结果应为:

{
  "array1": [
    {
      "_id": "123",
      "array2": [
        {
          "_id": "123",
          "answeredBy": [],
        }
      ]
    }, 
    {
      "_id": "657",
      "array2": [
        {
          "_id": "456",
          "answeredBy": [],
        }
      ]
    }
  ]
}

我怎样才能做到这一点?

0 个答案:

没有答案